2008-04-23
asp.net页面回传与js调用服务端事件、PostBack的原理详解
原文:http://whx.tzgt.gov.cn/newOperate/html/1/11/112/11756.html
摘要:
ASP.ENT中,有两种实现页面PostBack的机制,不管是哪种回传方式,最终均是Form表单提交。
一、原始的Form表单提交
WebControls中的Button和ImageButton控件,到客户端会转换为
二、利用JavaScript和隐藏表单实现表单提交
除Button和ImageButton外,其他WebControls控件均是以这种方式实现页面回传机制的。具体步骤如下:
1、如果页面中存在除Button和ImageButton外的服务端控件,ASP.NET页面框架会自动在页面中增加两个隐藏表单。
2、服务端自动生成如下的JavaScript方法,处理事件的发送。
3、每个会引发服务端事件的控件都会在响应的客户端事件中调用上面的代码。
以<asp:LinkButton>服务端控件为例说明,以下为服务端到客户端的映射:
但是,经过试验,我发现<asp:Checkbox>、<asp:TextBox>等服务端控件并不能自动在客户端生成调用JavaScrip的__doPostBack方法的代码。
4.客户端触发事件后调用__doPostBack方法,将表示触发的控件源的eventTarget 和事件参数eventArgument分别付给两个隐藏域__EVENTTARGET和__EVENTARGUMENT,然后提交Form,在服务端根据__EVENTTARGET和__EVENTARGUMENT来判断是哪个控件的什么事件触发了。
摘要:
ASP.ENT中,有两种实现页面PostBack的机制,不管是哪种回传方式,最终均是Form表单提交。
一、原始的Form表单提交
WebControls中的Button和ImageButton控件,到客户端会转换为
<input type="submit" name="" /> <input type="image" name=""/>
二、利用JavaScript和隐藏表单实现表单提交
除Button和ImageButton外,其他WebControls控件均是以这种方式实现页面回传机制的。具体步骤如下:
1、如果页面中存在除Button和ImageButton外的服务端控件,ASP.NET页面框架会自动在页面中增加两个隐藏表单。
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
2、服务端自动生成如下的JavaScript方法,处理事件的发送。
<script type="text/javascript">
<!--
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</script>
3、每个会引发服务端事件的控件都会在响应的客户端事件中调用上面的代码。
以<asp:LinkButton>服务端控件为例说明,以下为服务端到客户端的映射:
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
但是,经过试验,我发现<asp:Checkbox>、<asp:TextBox>等服务端控件并不能自动在客户端生成调用JavaScrip的__doPostBack方法的代码。
4.客户端触发事件后调用__doPostBack方法,将表示触发的控件源的eventTarget 和事件参数eventArgument分别付给两个隐藏域__EVENTTARGET和__EVENTARGUMENT,然后提交Form,在服务端根据__EVENTTARGET和__EVENTARGUMENT来判断是哪个控件的什么事件触发了。
发表评论
- 浏览: 7751 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
链接
最新评论
-
同样的温度,为什么身体的 ...
rtdb 写道我相信心里暗示会有一定的作用, 但是,仍然要符合物理规律,就是说 ...
-- by bo_83 -
同样的温度,为什么身体的 ...
邪恶一下 “老婆,同样的温度,为什么身体的感觉不一样?”
-- by t0uch -
同样的温度,为什么身体的 ...
bo_83 写道someone 写道乖乖,意念都能制冷,夏天都不用买空调了。 呵 ...
-- by rtdb -
同样的温度,为什么身体的 ...
someone 写道乖乖,意念都能制冷,夏天都不用买空调了。 呵呵 同学有点抬杠 ...
-- by bo_83 -
同样的温度,为什么身体的 ...
看了大家的讨论,对这个问题的理解又深入了一步。 但各位请注意, 第一、温度计没有 ...
-- by sunnymelon






评论排行榜