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

  • 相关阅读:
    1869六度分离
    1162Eddy's picture
    hdu2544
    3549Flow Problem
    1272小希的迷宫
    2112HDU Today(Dijkstra)
    1878欧拉回路
    hdu1116Play on Words
    2112HDU Today(SPFA)
    在程序中动态创建视图
  • 原文地址:https://www.cnblogs.com/htht66/p/1334177.html
Copyright © 2011-2022 走看看