获取引发PostBack的对象
2005-01-19 20:44
239 查看
既然asp.net能把客户端的操作包装事件, PostBack之后从Page.Request.Forms里肯定能找到到底是哪个控件的提交.
看了一下asp.net生成的html, 我发现对客户端来说, 引发postback的方法有两种, 一种是submit按钮, 一种是调用__doPostBack()
例如Button的html代码是
<input type="submit" name="Button1" value="提交" id="Button1" />
而LinkButton是
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
对于在客户端调用__doPostBack的控件来说, 从
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
可以看到控件名被保存在.__EVENTTARGET的hidden里. 可以通过Page.Request.Form["__EVENTTARGET"]得到控件的ClientID
而对于submit, 就要在VS.NET里用调试窗口一个个查看Request.Forms的变量值了. 原来他的ClientID是Page.Request.Form的最后一个Key, 可以通过Page.Request.Form.AllKeys[Page.Request.Form.AllKeys.Length - 1]得到
如果还要得到这个控件的引用, 调用FindControl方法就可以了.
好了,就这样拿到了引发PostBack的对象了, 但是, 用来干啥好呢? 暂时想不到, 只是一时好奇想到这个问题....郁闷
看了一下asp.net生成的html, 我发现对客户端来说, 引发postback的方法有两种, 一种是submit按钮, 一种是调用__doPostBack()
例如Button的html代码是
<input type="submit" name="Button1" value="提交" id="Button1" />
而LinkButton是
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
对于在客户端调用__doPostBack的控件来说, 从
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
可以看到控件名被保存在.__EVENTTARGET的hidden里. 可以通过Page.Request.Form["__EVENTTARGET"]得到控件的ClientID
而对于submit, 就要在VS.NET里用调试窗口一个个查看Request.Forms的变量值了. 原来他的ClientID是Page.Request.Form的最后一个Key, 可以通过Page.Request.Form.AllKeys[Page.Request.Form.AllKeys.Length - 1]得到
如果还要得到这个控件的引用, 调用FindControl方法就可以了.
好了,就这样拿到了引发PostBack的对象了, 但是, 用来干啥好呢? 暂时想不到, 只是一时好奇想到这个问题....郁闷
相关文章推荐
- 获取引发PostBack的对象(获取引发回送的控件)
- JQUERY 获取IFrame中对象及获取其父窗口中对象示例
- html获取当前对象this的标签
- 获取iframe的window对象
- JSF(Java Server Face) 框架中如何获取传统的HttpSession或HttpServletRequest对象
- java中使用反射获取对象的属性和属性值
- 在Weblogic Web Service中获取 HttpServletRequest/Response 对象
- 使用LayoutInflater 获取View对象的方式
- 获取iframe节点元素里的document对象
- 使用ChildObjects方法获取某个对象中包含的对象列表
- iOS TableView didSelectRowAtIndexPath选中某Cell后获取其Cell实例对象
- cocos2d中在titled中创建对象层及获取坐标
- jQuery获取对象
- 编写一个JSP文件,使用pageContext内置对象来获取由session、request和application内置对象设置的属性。
- strut2获取对象的值
- 使用dynamic获取类型可变的json对象
- spring获取ApplicationContext对象的方法——ApplicationContextAware
- MVC-通过对象获取整个表单内容
- 获取对象信息