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

  • 相关阅读:
    开源大数据周刊-第29期
    rsync
    Tomcat基础教程(四)
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    python 取前10位
    python 字典统计次数
    阿里开源分布式事务Fescar demo示例
  • 原文地址:https://www.cnblogs.com/htht66/p/1334177.html
Copyright © 2011-2022 走看看