首页 > 资讯列表 > 编程/数据库 >> ASP/.NET

ASP.NET中的doPostBack脚本函数实例

ASP/.NET 2011-05-19 20:05:50 转载来源: AS网站目录整理

  今天来说说当ASP.NET中的doPostBack脚本函数的应用,ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本:&lt;input type=&quot;hidden&quot; name=&quot;__EVENTTARGET&quot; id=&quot;__EVENTTARGET&quot; value=http://www.chinahtml.com/0710/&quot;&quot; /&gt;  <br />&lt;input t

  今天来说说当ASP.NET中的doPostBack脚本函数的应用,ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本:

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value=http://www.chinahtml.com/0710/"" /> 
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value=http://www.chinahtml.com/0710/"" /> 
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=http://www.chinahtml.com/0710/"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); 
}

标签: ASP.NET 中的 doPostBack 脚本 函数 实例


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持