首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于PostBack?解决方案

2012-01-19 
关于PostBack??问个简单的问题,页面上有两个button,而面回发的时候,page怎么找到谁触发post-back的??[解决

关于PostBack??
问个简单的问题,页面上有两个button,而面回发的时候,page怎么找到谁触发post-back的??

[解决办法]
打开你的页面在客户端的源代码,你可以看到事件是由 ____doPostBack 函数触发的。

并且可以找到定义:

function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}

http协议的post命令定义了那些参数的表示方法。服务器可以通过检查 __EVENTTARGET 来获得目标控件。

另外,从这里看到直接对 form 执行 submit() 也是 PostBack,只是没有 __EVENTTARGET 来标记那个控件触发的提交。

所有控件仍然有可能触发 xxxxChanged 类型的事件,之后才触发这个控件的事件。有一些事件虽然其名不太一样,例如 xxxxSelectedIndexChanged,但是仍然是因为它的值改变而触发的,与 __EVENTTARGET 并无关系。

热点排行