ASP.NET中的doPostBack腳本函數實例_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:.Net FW中無法正確顯示中文問題
      .Net Framework無法正確顯示中文的問題,只需在程序執行的目錄中(無論這個目錄是否為虛擬目錄)創建一個名為web.config的文件并在文件中輸入以下內容:

      今天來說說當ASP.NET中的doPostBack腳本函數的應用,ASPX頁面有包含asp:LinkButton或者帶有AutoPostBack屬性且其值為true的服務器控件時,ASP.NET會自動為頁面生成下面的腳本:

      以下為引用的內容:
      <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
      <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
      function __doPostBack(eventTarget, eventArgument) {
      if(!theForm.onsubmit || (theForm.onsubmit() != false)) {
      theForm.__EVENTTARGET.value = eventTarget;
      theForm.__EVENTARGUMENT.value = eventArgument;
      theForm.submit();
      }
      }

      __doPostBack帶有兩個參數:eventTarget和eventArgument。

      eventTarget是引起回送的控件的ID,eventArgument是回調參數(與控件相關的附加數據)。這兩個參數分別由隱藏的兩個表單域__ EVENTTARGET和__ EVENTARGUMENT保存。

      使用這兩個隱藏的表單可以查找引起頁面回送的控件ID和回送時的參數:

      以下為引用的內容:
        protected void Page_Load(object sender, EventArgs e)
        {
        string target = Request.Params["__EVENTTARGET"];
        string args = Request.Params["__EVENTARGUMENT"];
        }

      因為asp:Button和asp:ImageButton不是使用__doPostBack回送頁面,所以使用這兩個控件回送頁面時,上面的代碼是無效的。

      使用HTML控件回送頁面:

      以下為引用的內容:
      <form id="form1" runat="server">
      <asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
      <input type="button" value="Client Control" onclick="javascript:__doPostBack(’Button1’, ’Button Click’);" />
      </form>
      protected void Page_Load(object sender, EventArgs e)
      {
      if(this.IsPostBack)
      {
      string target = Request.Params["__EVENTTARGET"];
      string args = Request.Params["__EVENTARGUMENT"];
      Response.Write("Button ID: " target "<br />");
      Response.Write("Arguments: " args "<br />");
      }
      }

      加入的目的是為了讓ASPX自動生成__doPostBack腳本。

      阻止asp:Button提交頁面:

      以下為引用的內容:

      <form id="form1" runat="server">
      <asp:Button ID="Button1" runat="server" Text="Button" />
      </form>
      protected void Page_Load(object sender, EventArgs e)
      {
      string scr = "return confirm(’Are you sure you want to submit this form?’);";
      this.Button1.Attributes.Add("onclick", scr);
      }

      分享:c#.net函數列表
      1、DateTime 數字型 System.DateTime currentTime=new System.DateTime(); 1.1 取當前年月日時分秒 currentTime=System.DateTime.Now; 1.2 取當前年 int 年=currentTime.Year; 1.3

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程