ASP.NET中的doPostBack脚本函数实例
2007-10-15 20:29:31   来源:   评论:0 点击:

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


<i ut type="hidde quot; name="__EVENTTARGET" id="__EVENTTARGET" value=" quot; /> 
<i ut type="hidde quot; name="__EVENTARGUMENT" id="__EVENTARGUMENT" value=" quot; /> 
function __doPostBack(eventTarget, eventArgument) { 
  if(!theForm.o ubmit || (theForm.o ubmit() != 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"];
  }

因为a :Button和a :ImageButton不是使用__doPostBack回送页面,所以使用这两个控件回送页面时,上面的代码是无效的。

使用HTML控件回送页面:


<form id="form1" runat=" erver" gt 
<a :LinkButton ID="LinkButton1" runat=" erver" gt lt;/a :LinkButto gt 
<i ut type=" utto quot; value="Client Control" onclick="javascript:__doPostBack(&rsquo utton1’, &rsquo utton Click’) quot; /> 
</form> 
protected void Page_Load(object sender, EventArgs e) 

  if(this.I ostBack) 
  { 
  string target = Request.Params["__EVENTTARGET"] 
  string args = Request.Params["__EVENTARGUMENT"] 
  Re o e.Write(" utton ID: " + target + " lt r /> quot;) 
  Re o e.Write("Arguments: " + args + " lt r /> quot;) 
  } 
}

加入的目的是为了让A X自动生成__doPostBack脚本。

阻止a :Button提交页面:


<form id="form1" runat=" erver" gt;
<a :Button ID=" utton1" runat=" erver" Text=" utto quot; /> 
</form> 
protected void Page_Load(object sender, EventArgs e) 

  string scr = "return confirm(’Are you sure you want to submit this form?’) quot 
  this.Button1.Attributes.Add("onclick", scr) 
}

相关热词搜索:ASP.NET中的doPostBack脚本函数实例

上一篇:教你在asp.net中动态变更CSS
下一篇:.Net FW中无法正确显示中文问题

分享到: 收藏
频道总排行
频道本月排行