作者: 崔馳坤(Richard Troy-Rex, RickTroy)
聯系: [email protected], 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提交數據的形式,似乎可以越過刷新提交數據(但我也考慮過這似乎有安全方面的風險).
請大家指教.