原文:
http://whx.tzgt.gov.cn/newOperate/html/1/11/112/11756.html
摘要:
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来判断是哪个控件的什么事件触发了。
分享到:
相关推荐
这部分文件可能包含更深入的ASP.NET开发资料,包括对PostBack原理、最佳实践和常见问题的解释,对于深入理解和掌握ASP.NET页面提交至关重要。 综上所述,了解和掌握ASP.NET页面提交,尤其是PostBack机制,对于进行...
ASP.NET 页面生命周期描述 前言: ASP.NET 页面生命周期是指从页面初始化到最终呈现的整个过程。这个生命周期描述了页面是如何生成的,变量的生存周期。了解 ASP.NET 页面生命周期对开发者来说非常重要,因为它可以...
本文将深入探讨ASP.NET中前台JavaScript与后台代码调用的技术细节,包括IPostBackEventHandler接口的使用、ClientScript对象的功能以及如何通过__doPostBack函数实现前后端的通信。 ### ASP.NET中前后端通信的基础 ...
ASP.NET页面事件是Web开发中的核心概念,尤其在构建交互性强、动态响应的网页时扮演着重要角色。ASP.NET框架为每一个服务器控件提供了一系列的生命周期事件,使得开发者能够精确控制用户请求处理的过程。以下是对ASP...
ASP.NET页面生命周期是ASP.NET应用程序开发中的核心概念,它描述了从用户请求页面到服务器响应完成的整个过程。了解这个生命周期对于高效、准确地编写ASP.NET代码至关重要。 1. **初始化对象** 在页面生命周期的...
2. **控件与事件处理**:ASP.NET页面中包含各种服务器控件,如文本框、按钮等,它们可以触发事件。开发者需要编写事件处理程序来响应用户操作,例如,当用户点击一个按钮时,对应的Click事件会被触发。 3. **视图...
7. Form域或HiddenField:在源页面的表单中添加隐藏字段,或者通过JavaScript动态设置,然后在目标页面的PostBack事件中读取。这种方式适用于POST请求,不适用于GET请求。 8. Profile:ASP.NET的Profile提供了一种...
在ASP.NET中,父子页面之间的通信是Web应用程序中常见的需求,尤其在构建复杂交互的多层级界面时。本文将深入探讨如何在ASP.NET环境中实现父子页面间的值传递,并分享一些实用的技术和策略。 首先,我们要了解ASP...
在 ASP.NET 中,动态创建控件是指在页面生命周期的某个阶段(通常是 OnInit 或 OnLoad 事件)通过代码而非在设计视图中创建控件。这种做法在需要根据用户输入或特定条件灵活地改变页面结构时非常有用。例如,你可能...
一个典型的ASP.NET页面会经历多个阶段,包括初始化(Initialization)、加载视图状态(Load View State)、加载后事件处理(Load Postback Event Handling)、渲染(Rendering)等。了解每个阶段的作用及如何正确地...
这个压缩包包含的源代码是专门为ASP.NET初学者准备的,旨在帮助他们深入理解网页设计与网站开发的过程。通过结合电子教案使用,学习者可以更有效地掌握相关知识。 在ASP.NET网页设计中,我们主要涉及以下几个核心...
在压缩包内的"DropdownMenu"文件中,我们预计会找到所有的源代码文件,包括.aspx(ASP.NET页面)、.cs(C#后台代码文件)、.designer.cs(自动生成的后台代码辅助类)以及可能的.css(样式表)和.js(JavaScript)...
5. **AJAX异步更新**:为了实现即时通信效果,可以使用ASP.NET AJAX扩展,通过Partial Postback技术,实现页面部分区域的无刷新更新,提升用户体验。 6. **WebSockets技术**:ASP.NET可以利用WebSocket协议实现双向...
1. **ASP.NET Web Forms**:这是一个用于创建交互式Web页面的模型,通过控件和事件处理程序提供直观的开发体验。在这个项目中,可能使用了诸如TextBox、Button、GridView等控件来展示和操作数据。 2. **ADO.NET**:...
### 解析6种ASP.NET跨页面传值的方法 在ASP.NET开发中,跨页面传值是经常遇到的一个问题。为了确保用户体验良好且程序逻辑清晰,开发者需要掌握多种跨页面传值的技术。本文将详细介绍六种常用的ASP.NET跨页面传值...
ASP.NET页面刷新方法是Web开发中的重要概念,它涉及到用户界面与服务器之间的交互以及数据的更新。在ASP.NET中,有多种方式可以实现页面的刷新,以下是对这些方法的详细总结: 1. **按钮点击事件刷新** 当用户点击...
《ASP.NET 2.0 + SQL Server 网络应用开发详解》这本书是针对使用ASP.NET 2.0和SQL Server进行Web应用开发的详细指南。ASP.NET是Microsoft .NET框架的一部分,它提供了一种高效、面向对象的方式来构建动态网站、web...
PostBack事件则是当用户与页面交互后,服务器重新加载该页面时触发的事件,这对于处理用户提交的答题信息至关重要。 6. **MVC模式(如果采用)** 如果题库系统采用了MVC模式,那么它将分为Model、View和Controller...
它关注的是ASP.NET如何与HTTP协议交互以及事件处理机制在其中的作用,这对于理解ASP.NET框架的工作原理至关重要。 首先,我们要了解ASP.NET的本质。ASP.NET是微软公司开发的一个用于构建动态网站、Web应用程序和...
1. **表示层(Presentation Layer)**:这是用户与系统交互的部分,主要由ASP.NET的Web页面(如.aspx文件)组成。这些页面负责接收用户的请求,展示数据,并将用户的操作转发给业务逻辑层处理。在本项目中,你可能...