- 浏览: 1028234 次
- 性别:
- 来自: 天津
-
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
其实,__doPostBack是一个很简单的脚本函数.代码如下:
//__doPostBack <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); }
原来是在submit上做文章啊.microsoft呈现给我们的就是这种精巧的思维!
我看到,asp.net现在页面上添加了两个hidden input,这两个input分别用来存放触发postback的control的ID和参数.这就是我们大部分人认识到的:
__doPostBack(obj1,obj2)的第一个参数是控件ID,第二个参数是postback的参数.然后就可以在后台用Request.Form["__EVENTTARGET"]和 Request.Form["__EVENTARGUMENT"]取得控件ID和参数.
不过,另外要注意的就是asp.net的webcontrols中,Button或其它***Button,如ImageButton就特殊了,它们不是利用 __doPostBack来实现postback的.为什么这样,可能因为Button在html中本来就是有触发submit事件的功能吧.asp.net不过是要令原来html中一些不能触发submit的东西submit,才弄出了__doPostBack来实现吧.
所以如果是Button的postback,在后台是不能用Request.Form["__EVENTTARGET"]和Request.Form["__EVENTARGUMENT"]取得控件ID和参数的.那么,怎么取呢?看代码:
//取Button foreach (string str in Request.Form) { Control c = Page.FindControl(str); if (c is Button) { control = c; break; } }
上述写法可以在后台找到Button.在Button的提交过程中,Button会将Button本身的ID作为Request.Form的一个Key,它的Value是Button的 Text属性值,回传给服务器.所以可以在后台循环Form.Keys取到所提交的Button,以执行相应的函数.ImgButton也差不多,不同就在于,它不是用ImageButton的ID作为Request.Form的Key,它是用ImageButton的ID加上.x和.y作为Key,在 Request.Form添加两上键值对,这两个键值应该是对应ImageButton的图片大小的,了解了这个规律后,我们仍然可以通过一定的方式得到是否是由ImageButton引发的PostBack.
通过获取到提交过来的控件ID后, Asp.net就能找到对应注册了事件的控件,并触发事件了.
发表评论
-
DotNet 资源大全(下)
2018-07-12 10:18 597HTML 和 CSS(HTML and CSS) ... -
DotNet 资源大全(上)
2018-07-12 10:17 753API 框架 NancyF ... -
asp.net mvc处理css和js版本问题
2018-05-24 16:40 1429当服务的修改了js和css内容后,发布到II ... -
分布式系统调用链监控
2018-02-22 14:36 869分布式系统调用链监 ... -
IIS 优化
2017-06-28 21:57 1703通过对IIS7的配置进行优化,调整IIS7应用池的队列长度, ... -
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
2017-06-28 21:39 2094读在最前面: 1、本文以IIS8,Windows Se ... -
使用C# 和Consul进行分布式系统协调
2017-05-11 10:41 1321随着大数据时代的到来,分布式是解决大数据问题的一个主要手段, ... -
查看IIS上面的每个网站分别用了多少内存
2017-05-05 12:57 889IS服务器上面运行了多个网站,想查看每个网站具体使用了系统多 ... -
Asp.net WebApi版本控制
2017-03-06 10:34 841关web api的版本控制网上有很多,如Web API 版本 ... -
.Net下RabbitMQ的使用(9) -- 在WCF下使用RabbitMQ
2016-12-19 10:42 1026RabbitMQ .net客户端通过自定义的Binding ... -
.Net下RabbitMQ的使用(8) -- 远程过程调用RPC
2016-12-19 10:42 1073RPC是在计算中是一种 ... -
.Net下RabbitMQ的使用(7) -- 消息的传输控制
2016-12-19 10:41 984前文中也多次提到消息传输的一些概念,这一篇比较全面的介绍一 ... -
.Net下RabbitMQ的使用(6) -- 持久化
2016-12-19 10:41 770消息的持久化是消息 ... -
.Net下RabbitMQ的使用(5) -- 路由机制
2016-12-19 10:41 543理清路由机制是了解RabbitMQ来龙去脉的关键。在前面的 ... -
.Net下RabbitMQ的使用(4) -- 订阅和发布
2016-12-16 10:26 1157消息的订阅和发布是使 ... -
.Net下RabbitMQ的使用(3) -- 竞争的消费者
2016-12-16 10:23 2517在上一篇文章中,演示了一个发送者和一个消费者的情况。这一篇介 ... -
.Net下RabbitMQ的使用(2) -- 发送接收消息
2016-12-16 10:20 1270在安装和配置完成Rabbit ... -
RabbitMQ消息队列(一): Detailed Introduction 详细介绍
2016-12-16 10:12 6211. 历史 RabbitMQ是 ... -
RabbitMQ 安装和监控
2016-12-16 10:14 882在Windows上安装Rabbit MQ 指南,最好的是这 ... -
Autofac创建实例的方法总结
2016-12-07 14:54 5671、InstancePerDependency 对每一个依 ...
相关推荐
在ASP.NET开发中,`doPostBack`是一个非常关键的JavaScript函数,它主要用于触发服务器端的回发事件。本文将深入探讨`doPostBack`的工作原理及其在弹出窗体(弹框)与父窗体间传递数据的应用。 首先,让我们了解`...
.Net4.0下ASP.NET在IE10以上版本访问的时候,遇到分页或者控件回发的时候会提示doPostBack未定义,这个补丁是用来在服务器端修正这个问题,安装完需要重启。如不想在服务器修正,可以看...
本文将深入探讨ASP.NET中前台JavaScript与后台代码调用的技术细节,包括IPostBackEventHandler接口的使用、ClientScript对象的功能以及如何通过__doPostBack函数实现前后端的通信。 ### ASP.NET中前后端通信的基础 ...
在ASP.NET中,开发Web应用程序时,我们可能会遇到需要监听用户键盘输入的情况,例如实现特定按键触发特定功能。本文将详细讲解如何在ASP.NET中处理键盘事件,特别是使用`keycode`来识别用户按下的键。 一、键盘事件...
.Net4.0下ASP.NET在IE10以上版本访问的时候,遇到分页或者控件回发的时候会提示doPostBack未定义,这个补丁是用来在服务器端修正这个问题,安装完需要重启。如不想在服务器修正,可以看 ...
ASP.NET页面提交是Web开发中的一个关键概念,主要用于创建交互式的动态网页。在这个过程中,C#作为.NET框架的主要编程语言,被广泛用于编写服务器端代码,处理用户输入和响应。"PostBack"是ASP.NET中一个核心的概念...
这个函数在ASP.NET Web Forms应用中广泛使用,当用户与网页上的控件交互时,如点击按钮或更改下拉框,`__doPostBack`会发送一个异步请求到服务器,从而更新页面的部分内容而无需刷新整个页面。 标题提及的问题是`__...
针对.Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法
`doPostBack`的主要作用是模拟用户点击一个提交按钮,使页面进行一次完整的POST回送,从而在不刷新整个页面的情况下更新部分网页内容,这就是我们常说的ASP.NET中的部分页面刷新功能。 `doPostBack`的源码主要由ASP...
2. **更新ASP.NET页面头部**:确保在每个ASP.NET页面的部分包含以下脚本引用,以确保IE11能够识别ASP.NET的JavaScript函数: ```html window.attachEvent("onload", function() { Page_Load(); }); ``` 其中...
在ASP.NET中,鼠标点击事件是网页交互的重要组成部分,它允许开发者捕捉用户的鼠标操作并执行相应的代码逻辑。这里我们主要关注的是`onmousedown`事件,它是HTML和JavaScript中的一个事件,但同样可以在ASP.NET中...
在ASP.NET web应用程序中,`doPostBack`是一个非常关键的机制,它负责引发服务器端的事件处理,使得页面能够在不刷新整个页面的情况下与服务器进行交互。这个机制是ASP.NET AJAX的核心部分,也是ASP.NET WebForm模型...
在ASP.NET开发中,Ajax联动菜单是一种常见的交互设计,它能提供流畅的用户体验,无需页面刷新即可更新相关信息。Ajax(Asynchronous JavaScript and XML)技术利用JavaScript异步处理数据,结合XML或其他格式的数据...
在ASP.NET应用程序中,Session状态管理是一项重要的功能,用于跟踪用户的会话状态。Session会在以下几种情况下结束: 1. **用户长时间未与服务器交互**:如果用户在设置的Session过期时间内没有与服务器进行任何...
在 ASP.NET 2.0 中,GridView 控件和 FormView 控件都是非常重要的控件,通常用于显示数据。GridView 控件提供了一个表格视图,显示多条记录的主要信息,而 FormView 控件则用于显示指定记录的详细信息。本文将详细...
AjaxPro是.NET Framework下的一款开源库,它允许开发者在ASP.NET环境中构建类似于AJAX(Asynchronous JavaScript and XML)的应用,提供无刷新页面更新,提升网页应用的交互性和性能。 这个压缩包中的子文件涵盖了...
在Asp.net中,触发服务端事件是网页与服务器间通信的关键部分,使得开发者能够实现动态交互的功能。根据描述和部分内容,我们可以详细分析两种不同类型的客户端事件触发方式: 1. WebControls中的Button和...
ASP.NET AJAX分页技术是Web开发中的一个重要概念,它允许用户在不刷新整个页面的情况下实现数据的分块加载,提供流畅的用户体验。本教程将深入探讨ASP.NET AJAX分页的相关知识点,以及如何编写分页代码。 1. **什么...
在ASP.NET开发中,分页是网页数据展示中常见的功能,尤其在处理大量数据时,分页能够提高用户体验,减少服务器负担。本教程将详细讲解如何实现ASP.NET中的分页功能,包括自动设置每页显示数目、跳转到指定页面以及...
在ASP.NET开发中,JavaScript是一种常用的客户端脚本语言,它能增强用户交互并提供动态功能。以下是对ASP.NET中常用JavaScript操作的详细说明: 1. **为button控件添加确认功能**: 当需要在用户点击按钮前进行...