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

  • 相关阅读:
    计算机网络【10】—— Cookie与Session
    计算机网络【9】—— HTTP1.0和HTTP1.1的区别及常见状态码
    计算机网络【8】—— Get和Post请求的区别
    计算机网络【7】—— TCP的精髓
    数据库事务的四大特性以及事务的隔离级别
    JavaWeb基础【1】—— Tomcat
    Get current time and date on Android
    Converting Storyboard from iPhone to iPad
    iPhone OS 开发
    (译)iOS Code Signing: 解惑
  • 原文地址:https://www.cnblogs.com/htht66/p/1334177.html
Copyright © 2011-2022 走看看