zoukankan      html  css  js  c++  java
  • 控制項學習六(AutoPostBack機制和事件的觸發)

     

    八.關於AutoPostBack機制和事件的觸發

    Server端程式(ASP.NET)想要知道已經RenderClient端的控制項,究竟發生了什麽事件,就一定得來一個postback,否則Server端的ASP.NET程式,根本無從得知Client端網頁(上面的控制項)究竟發生了什麽事件。

    這種情況在ASP.NET中時常發生。因此,ASP.NET技術中,乾脆做一個共用的機制,來處理這樣的【PostBack+控制項事件】。

    知道這個“共用的機制”,我們可以完美上面的代碼。

    Render部分:

        '底下的Render會產生一段按鈕的HTML 例如:<Button> 標題文字 </Button>

        Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)

            'Render控制項HTML

            Dim JavaScript As String

            '建立 Postback 用的 JavaScript

            JavaScript = Me.Page.GetPostBackEventReference(Me, "")

            output.AddAttribute("onclick", JavaScript)

            output.AddAttribute("id", Me.ClientID)

            output.AddAttribute("name", Me.ClientID)

            output.RenderBeginTag("button")

            output.Write(Me.Text)

            output.RenderEndTag()

        End Sub

    複寫OnLoad事件部分

        '覆寫OnLoad事件

        Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)

            Dim controls As WebControls.WebControl

            Dim args As String

            '改成只剩這行

            If Me.Page.Request("__EVENTTARGET") = Me.ID Then RaiseEvent OnClick()

            MyBase.OnLoad(e)

        End Sub

  • 相关阅读:
    C++17 filesystem文件系统
    简易版本vue的实现
    javaSE基础04
    javaSE基础03
    javaSE基础02
    JavaSE基础01
    Document对象和window对象
    进程和子进程及端口的常用命令
    vue分页组件二次封装---每页请求特定数据
    css图片垂直水平居中及放大(实现水平垂直居中的效果有哪些方法?)
  • 原文地址:https://www.cnblogs.com/htht66/p/1334177.html
Copyright © 2011-2022 走看看