页面回传的时候如何获取引发源?
来源:互联网 发布:手机版写作软件 编辑:程序博客网 时间:2024/06/05 18:20
在开发asp.net程序过程中 ,经常需要知道在页面发生postback的时候,是由页面上哪个控件引发的。
比如页面上引入了一个用户控件,该用户控件有若干服务器端的按钮,由于点击事件都写在用户控件的后台代码里了,引用页面上却又想针对点击不同的按钮做一些不同的处理,但却没有办法知道点击的是哪个按钮;
又或者,页面上有个按钮,我们想在想在执行button_click()方法之前先执行某些代码,写在page_load里面呢,也同样无法区分是由哪个控件引发的page_load(除非你的页面只有这个按钮可以引发回传),
我上sdk上查了一下,发现页面回传的时候,该事件会在page_load之后被执行,参数中带有引发回传的控件,
重写该方法即可
protected override void RaisePostBackEvent(IPostBackEventHandler sourceControl, string eventArgument)
{
base.RaisePostBackEvent (sourceControl, eventArgument);
//下面加入你要执行的代码
{
if(((控件类型) sourceControl).控件属性=="xxxxx")
}
}
刚刚在csdn参考了某位网友的解答,原来这样也可以
在page_load()
{
ArrayList list = new ArrayList(Request.Form.Keys);
if (list.Contains(Button1.ID))
{
Response.Write(Button1.Text+"被按下");
}
}
这里我比较奇怪,表单被提交的时候,只有textBox和被点击的按钮会被提交,别的按钮不会北提交,也就是说,如果有若干个可引发回传的按钮,只有被点击的才会提交。没想到。
我本来还想着如果在页面上放一个隐藏的textbox(是客户端隐藏,不是服务器端的隐藏),写一个脚本,当按钮被点击的时候,把按钮id写入该textbox,然后在page_load里就可以读取该id了。。。。 看来不需要这么麻烦。
- 页面回传的时候如何获取引发源?
- 获取引发页面回传事件的控件
- 获取引发页面回传事件的控件
- 页面使用$.dataTable()的时候,如何获取Table一行的数据
- 页面未获取焦点引发的怪现象
- 如何获取SurfaceView的宽高引发的问题????
- 如何在调试页面的时候优雅的关闭缓存
- 关闭页面的时候如何触发JS事件
- js如何匹配获取页面传过来的参数
- ASP.NET页面如何引发PostBack事件
- 使用bs4获取网页时候,如何处理爬到页面内中文变成拉丁文问题
- 获取引发PostBack的对象(获取引发回送的控件)
- 下拉列表多选的时候如何获取值
- 如何获取Solaris/OpenSolaris的页面大小
- freemarker如何获取页面请求的参数
- 如何动态获取页面的宽高
- 子页面如何获取负页面的表单信息?/
- 页面JS、javascript如何获取后台传到页面的值
- web页面的打印
- javascript 中一些常用的正则表达式
- Linux 串口编程
- 跳的艺术
- Web Deployment Projects Visual Studio 2005编译插件
- 页面回传的时候如何获取引发源?
- 两个小时学会DirectDraw编程
- SysAnalyzer
- 深入浅出理解索引结构
- [研究]引用实参的传递
- The first paper
- PostGIS第一眼
- DirectX5.0最新游戏编程指南 DirectDraw教程篇二
- 使用truss、strace或ltrace诊断软件的"疑难杂症"