在一個項目中用到了ajax非同步,需要由一個aspx頁面的pageload事件來讀取後台資料,如果有多少個ajax功能就寫多少個頁面,不可取,可用一個頁面來實現,代碼如下:ajaxPage.aspx頁面代碼:
protected void Page_Load(object sender, EventArgs e)
{
string Action = Xkzi.Common.RequestHelp.Q("Action");
switch (Action)
{
case "ChackPass":
{
//得到傳過來的密碼的字串
string Pass = Tools.GetMD5(Request.QueryString["Pass"].ToString());
//得到目前使用者的ID
//string CurrentUserId = Session["CurrentUserId"].ToString();
string CurrentUserId = CurrentPatient.Id.ToString();
//進行判斷,看傳過來的使用者ID和密碼是否匹配
DataSet ds = new DataSet();
if (Business.Patient.CheckPass(Convert.ToInt32(CurrentUserId), Pass))
{
Response.Write("舊密碼驗證成功");
}
else
{
Response.Write("舊密碼驗證失敗");
}
break;
}
case "Display":
{
//接到url傳來的字元
string DicTitle = Request.QueryString["Dic_Title"].ToString();
//解碼
DicTitle = System.Web.HttpUtility.UrlDecode(DicTitle, System.Text.Encoding.GetEncoding("GB2312"));
//得到資料來源
DataSet ds = new DataSet();
ds = Business.Dictionary.GetList(" Dic_Title='" + DicTitle + "'");
string a = ds.Tables[0].Rows[0]["Dic_Content"].ToString();
//輸出想要的結果
Response.Write(ds.Tables[0].Rows[0]["Dic_Content"].ToString());
break;
}
}
}
這段程式碼封裝括了兩個ajax功能,一個是頁面的滑詞搜尋,另一個是密碼驗證
在那兩個功能的JS檔案也要做一些小的修改
xmlhttp.open("GET","AjaxPage.aspx?Action=Display&Dic_Title="+encodeURI(keys),true);
其實就是加多傳一個參數,然後在ajaxPage.aspx頁面裡先判斷傳入的Action的值是什麼,就可以確定是要用哪個功能了
轉載自:http://www.cnblogs.com/yuanweisen/archive/2008/12/03/1346993.html#1402950