扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:论坛整理 2007年11月19日
关键字: ASP.NET doPostBack 脚本函数
以下是引用片段: <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 />"); } } |
加入
阻止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); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者