在项目中遇到很多地方需要做二次提交处理,经过研究和收集总结了客户端js利用__doPostBack(sender,args)函数来提交到服务器的方法。(不断补充中)
__doPostBack(sender,args)
sender:提交的控件
args: 事件参数。一般赋空值。
web.aspx页面上放置任何一个控件:<asp:button id="btnTest"/>
VB页面代码中在Page_Load中添加:Me.GetPostBackEventReference(btnTest)
注意该语句不要放在 IF Not IsPostBack Then End IF 中。
C#中不需要上述步骤。
客户端调用js代码:__doPostBack("btnTest",""); 注意是双下划线。即可提交到服务器端。
调用该函数提交不会触发控件的任何js事件而直接进入服务器端。
可以利用该特性来做二次提交:
在button控件的Click事件中做一个标记利用hidden控件或其他方式保存一个Flag
__doPostBack提交则无此Flag
服务器端则根据该Flag来判断是button提交还是__doPostBack提交。
注意在后台处理__doPostBack提交的逻辑中将Flag刷新
2006/02/23 14:55