作者: 崔馳坤(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事件不響應).
PS: 對於希望模仿WebControl進行伺服器PostBack的,可以使用在客戶端寫兩個隱藏Input,名字分別為__EVENTTARGET和__EVENTARGUMENT, 然後使用腳本__doPostBack(control,argument);的語法進行PostBack事件觸發.
借了別人的Professional ASP.NET才知道在ASP.NET模型中可以使用IHttpHandler和IHttpModule兩個類別來進行HTTP請求處理,但是這兩個類別要求預先編譯, 這樣的話即使能寫一個響應庫其擴展性也不容樂觀.
請各位指點,有沒有哪個事件和方法能在頁面直接響應和處理HTTP請求的?
或是誰能提供一些表單submit()方法傳遞資料形式,
因為XmlHttpRequest可以在請求的時候send,所以如果我們知道submit提交資料的形式,似乎可以越過刷新提交資料(但我也考慮過這似乎有安全方面的風險).
請大家指教.