日期:2010-06-05 浏览次数:20578 次
作者: 崔驰坤(Richard Troy-Rex, RickTroy)
联系: RickTroy@126.com, http://ricktroy.cnblogs.com/
昨天一直在寻找可以简单解决Ajax在ASP.NET V1.1.4322中使用的方案,但是发现ASP.NET页面模型很"怪异".它拥有的所有事件及内部方法中,似乎没有一个能收取方案但是不刷新页面的.即使用页面里面的XmlHttpRequest进行HTTP GET, Page_Load事件也没有执行(因为XmlHttpRequest的responseText中没有Page_Load代码中的测试结果).
后来希望使用HtmlControl, 然后使用__doPostBack(EventTarget,EventArgument);以脚本方式RaisePostBackEvent但是发现表单一旦提交,页面就会刷新(后来发现这是Html表单的常识,以前真的是都没有学习过).但是即使使用HtmlControl去进行XmlHttpRequest的HTTP GET仍然无法解决问题(同上Page_Load事件不响应).
P.S: 对于希望模仿WebControl进行服务器PostBack的,可以使用在客户端写两个隐藏Input,名字分别为__EVENTTARGET和__EVENTARGUMENT, 然后使用脚本__doPostBack(control,argument);的语法进行PostBack事件触发.
借了别人的Professional ASP.NET才知道在ASP.NET模型中可以使用IHttpHandler和IHttpModule两个类来进行HTTP请求处理,但是这两个类要求预先编译, 这样的话即使能写一个响应库其扩展性也不容乐观.
请各位指点,有没有哪个事件和方法能在页面直接响应和处理HTTP请求的?
或者是谁能提供一些表单submit()方法传递数据形式,
因为XmlHttpRequest可以在请求的时候send,所以如果我们知道submit提交数据的形式,似乎可以越过刷新提交数据(但我也考虑过这似乎有安全方面的风险).
请大家指教.