利用XMLHTTP實現ASP.NET無刷新提交
在一些頁面處理中,如果需要多次進行后臺提交處理的話,就會不停的刷新頁面,很煩人,特別是機器配置不好或者網絡狀況不好的情況下,更加顯得讓人難受。
這種情況下我們可以利用XMLHTTP來實現不刷新的提交,這在做asp的時候就有不少這樣的應用,在asp.net里使用也是一樣的。
首先,新建一個頁面,命名Send.aspx, 用來做需要提交的頁面,另一個頁面do.aspx, 用來做處理提交的頁面。
寫一個js的提交方法,代碼如下:


var s = "xml格式
var url = "DoFilm.aspx?type=ADD"+"&aFilmBag_PKID="+aFilmBag_PKID;
var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async=false;
xml.loadXML(s);
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("post",url,false);
xmlhttp.send(xml);

這個js方法非常簡單,定義一個XMLHTTP對象,然后就調用open方法和send方法,就可以了.
再在頁面中用一個button來調用該方法,發送到do.aspx。
在處理的頁面do.aspx,在對應的cs文件do.aspx.cs中,這樣來接收發送過去的數據:








XmlDocument XmlDOC = new XmlDocument();
XmlDOC.Load(Request.InputStream);
string str = XmlDOC.InnerXml;











注意,在do.aspx文件的html代碼頁面中,如果存在任何的前臺代碼,都會作為send()請求的返回內容,一并返回到xh.responseText中。
另外,可以用html頁面來替代上面的Send.aspx,按照相同的方法,來實現靜態頁面的數據提交。