`
pcajax
  • 浏览: 2174162 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

asp.net页面回传与js调用服务端事件,Postback的原理

阅读更多

Asp.net 中在客户端触发服务器端事件分为两种情况:
一.   WebControls中的Button 和HtmlControls中的Type为submit的HtmlInputButton
这两种按钮最终到客户端的表现形式为:<input type="submit" value="Submit">,这是Form表单的提交按钮,点击以后会作为参数发送到服务端,参数是这样的:
控件的name属性=控件的value值,对应上面的例子就是:Submit1= Submit。服务器端会根据接收到的控件的name属性的这个key来得知是这个按钮被点击了,从而在服务端触发这个按钮的点击事件。
二.   HtmlControls 中的 Type为button的HtmlInputButton 和其它所有的控件事件,比如LinkButton点击,TextBox的Change事件等等:
这些事件在客户端产生后会经过一个统一的机制发送到服务端。
1.首先asp.net页框架会使用两个Hidden域来存放表示是哪个控件触发的事件,以及事件的参数:
<!—表示触发事件的控件,一般是这个控件的name -->
<input type="hidden" value="" />
<!—表示触发事件的参数,一般是当某个控件有两个以上的事件时,用来区别是哪个事件 -->
<input type="hidden" value="" />
2.服务端会生成一个jscript的方法来处理所有这些事件的发送,这段代码是:
<script language="javascript" type="text/javascript">
    function __doPostBack(eventTarget, eventArgument)
    {
        var theform = document.WebForm2;
        theform.__EVENTTARGET.value = eventTarget;
        theform.__EVENTARGUMENT.value = eventArgument;
        theform.submit();
    }
</script>
3.每个会引发服务端事件的控件都会在响应的客户端事件中调用上面的代码:
比如,HtmlControls 中的 Type为button的HtmlInputButton的点击事件
<!—客户端的点击事件调用__doPostBack,eventTarget 参数为'Button2',表示是name为'Button2’控件触发的事件,eventArgument 为空,表示这个Type为button的HtmlInputButton只有一个客户端触发的服务端事件-->
<input language="javascript" Button2','')" type="button" value="Button" />
又比如,TextB ......

<script type="text/javascript"><!-- google_ad_client = "pub-6770445892601887"; /* 468x60, 创建于 09-11-19 */ google_ad_slot = "4437639877"; google_ad_width = 468; google_ad_height = 60; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
分享到:
评论

相关推荐

    ASP.NET页面生命周期描述

    ASP.NET 页面生命周期描述 前言: ASP.NET 页面生命周期是指从页面初始化到最终呈现的整个过程。这个生命周期描述了页面是如何生成的,变量的生存周期。了解 ASP.NET 页面生命周期对开发者来说非常重要,因为它可以...

    asp.net页面提交

    这部分文件可能包含更深入的ASP.NET开发资料,包括对PostBack原理、最佳实践和常见问题的解释,对于深入理解和掌握ASP.NET页面提交至关重要。 综上所述,了解和掌握ASP.NET页面提交,尤其是PostBack机制,对于进行...

    ASP.NET中前台javascript与后台代码调用

    本文将深入探讨ASP.NET中前台JavaScript与后台代码调用的技术细节,包括IPostBackEventHandler接口的使用、ClientScript对象的功能以及如何通过__doPostBack函数实现前后端的通信。 ### ASP.NET中前后端通信的基础 ...

    ASP.NET页面事件.rar

    ASP.NET页面事件是Web开发中的核心概念,尤其在构建交互性强、动态响应的网页时扮演着重要角色。ASP.NET框架为每一个服务器控件提供了一系列的生命周期事件,使得开发者能够精确控制用户请求处理的过程。以下是对ASP...

    ASP.Net页面生命周期

    ASP.NET页面生命周期是ASP.NET应用程序开发中的核心概念,它描述了从用户请求页面到服务器响应完成的整个过程。了解这个生命周期对于高效、准确地编写ASP.NET代码至关重要。 1. **初始化对象** 在页面生命周期的...

    asp.net页面代码实现

    2. **控件与事件处理**:ASP.NET页面中包含各种服务器控件,如文本框、按钮等,它们可以触发事件。开发者需要编写事件处理程序来响应用户操作,例如,当用户点击一个按钮时,对应的Click事件会被触发。 3. **视图...

    ASP.NET页面之间传递值的几种方式(txt文件)

    7. Form域或HiddenField:在源页面的表单中添加隐藏字段,或者通过JavaScript动态设置,然后在目标页面的PostBack事件中读取。这种方式适用于POST请求,不适用于GET请求。 8. Profile:ASP.NET的Profile提供了一种...

    asp.net实现动态添加控件并添加事件实例

    在 ASP.NET 中,动态创建控件是指在页面生命周期的某个阶段(通常是 OnInit 或 OnLoad 事件)通过代码而非在设计视图中创建控件。这种做法在需要根据用户输入或特定条件灵活地改变页面结构时非常有用。例如,你可能...

    asp.net 父子页面传值

    每个ASP.NET页面都有自己的生命周期,包括初始化、加载事件、验证、呈现和卸载等阶段。父子页面间的通信通常发生在这些阶段中的特定时刻,以确保数据的正确传递和处理。 1. **Query String**: 最简单的父子页面间...

    asp.net页面qq

    一个典型的ASP.NET页面会经历多个阶段,包括初始化(Initialization)、加载视图状态(Load View State)、加载后事件处理(Load Postback Event Handling)、渲染(Rendering)等。了解每个阶段的作用及如何正确地...

    ASP.NET网页设计与网站开发-源代码

    这个压缩包包含的源代码是专门为ASP.NET初学者准备的,旨在帮助他们深入理解网页设计与网站开发的过程。通过结合电子教案使用,学习者可以更有效地掌握相关知识。 在ASP.NET网页设计中,我们主要涉及以下几个核心...

    Asp.net服务端下拉菜单控件源代码

    在压缩包内的"DropdownMenu"文件中,我们预计会找到所有的源代码文件,包括.aspx(ASP.NET页面)、.cs(C#后台代码文件)、.designer.cs(自动生成的后台代码辅助类)以及可能的.css(样式表)和.js(JavaScript)...

    asp.net聊天室

    5. **AJAX异步更新**:为了实现即时通信效果,可以使用ASP.NET AJAX扩展,通过Partial Postback技术,实现页面部分区域的无刷新更新,提升用户体验。 6. **WebSockets技术**:ASP.NET可以利用WebSocket协议实现双向...

    ASP.NET大作业

    1. **ASP.NET Web Forms**:这是一个用于创建交互式Web页面的模型,通过控件和事件处理程序提供直观的开发体验。在这个项目中,可能使用了诸如TextBox、Button、GridView等控件来展示和操作数据。 2. **ADO.NET**:...

    解析6种ASP.NET跨页面传值的方法

    ### 解析6种ASP.NET跨页面传值的方法 在ASP.NET开发中,跨页面传值是经常遇到的一个问题。为了确保用户体验良好且程序逻辑清晰,开发者需要掌握多种跨页面传值的技术。本文将详细介绍六种常用的ASP.NET跨页面传值...

    ASP.NET页面刷新方法总结

    ASP.NET页面刷新方法是Web开发中的重要概念,它涉及到用户界面与服务器之间的交互以及数据的更新。在ASP.NET中,有多种方式可以实现页面的刷新,以下是对这些方法的详细总结: 1. **按钮点击事件刷新** 当用户点击...

    asp.net 本质论

    它关注的是ASP.NET如何与HTTP协议交互以及事件处理机制在其中的作用,这对于理解ASP.NET框架的工作原理至关重要。 首先,我们要了解ASP.NET的本质。ASP.NET是微软公司开发的一个用于构建动态网站、Web应用程序和...

    ASP.NET 2005第五节 事件驱动编程与回送

    事件处理程序通常使用"Handles"关键字(VB.NET)或"event"关键字(C#)与事件关联。 回送(PostBack)是ASP.NET中的一个重要概念,它是用户操作导致整个页面重新提交到服务器的过程。当一个事件触发回送时,服务器...

    ASP.NET网上书店项目

    1. **表示层(Presentation Layer)**:这是用户与系统交互的部分,主要由ASP.NET的Web页面(如.aspx文件)组成。这些页面负责接收用户的请求,展示数据,并将用户的操作转发给业务逻辑层处理。在本项目中,你可能...

    asp.net题库系统

    PostBack事件则是当用户与页面交互后,服务器重新加载该页面时触发的事件,这对于处理用户提交的答题信息至关重要。 6. **MVC模式(如果采用)** 如果题库系统采用了MVC模式,那么它将分为Model、View和Controller...

Global site tag (gtag.js) - Google Analytics