在ASP.NET中使用AJAX的簡(jiǎn)單方法(3)_.Net教程
推薦:解析在ASP.NET中調(diào)用存儲(chǔ)過程的方法 在使用.NET的過程中,數(shù)據(jù)庫(kù)訪問是一個(gè)很重要的部分,特別是在B/S系統(tǒng)的構(gòu)建過程中,數(shù)據(jù)庫(kù)操作幾乎成為了一個(gè)必不可少的操作。調(diào)用存儲(chǔ)過程實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作使很多程序員使用的方法,而且大
CallbackMethod方法負(fù)責(zé)更新頁(yè)面。在我們的例子中,它只更新了指定的HTTP對(duì)象的inner HTML。但在實(shí)際應(yīng)用中,可以更新更多的內(nèi)容。
最后要解決的問題是我們?nèi)绾卧赼spx頁(yè)中調(diào)用ExecuteCall方法。如何調(diào)用ExecuteCall方法取決于這個(gè)頁(yè)面要做什么。在一些情況下,ExecuteCall方法可以在JavaScript事件出發(fā)時(shí)調(diào)用。如果這樣做,我們還可以使用相應(yīng)的aspx頁(yè)后端C#代碼將這個(gè)方法注冊(cè)為啟動(dòng)腳本。
Page.RegisterStartupScript("ajaxMethod", String.Format("<script>ExecuteCall('{0}');</script>", url));
我們可以將上面代碼加到ASP.NET后端代碼的Page_Prerender或Page_Load方法中。
服務(wù)端頁(yè)面
讓我們看看服務(wù)端頁(yè)面象什么。如果它是一個(gè)ASP.NET頁(yè)(我們假設(shè)的),我們僅僅對(duì)它的后端代碼感性趣。我們可以將.aspx文件中代碼都刪除,這樣絲毫不會(huì)影響這個(gè)aspx頁(yè)的功能。
例如,我們有一個(gè)將攝氏度轉(zhuǎn)換為華氏度的web service。如果你將這個(gè)web service的URL的引用加入到你的工程中,Visual Studio將產(chǎn)生一個(gè)叫"com.developerdays.ItempConverterservice"的代理類,這個(gè)代理類使用當(dāng)前的命名空間。有一個(gè)名為getTemp.aspx的aspx頁(yè),它接收一個(gè)叫"temp"的查詢參數(shù),這參數(shù)包含一個(gè)整數(shù)的攝氏度值。如http://localhost/getTemp.aspx?temp=25。這個(gè)aspx頁(yè)的后端代碼如下:
private void Page_Load(object sender, EventArgs e)
{
Response.Clear();
string temp = Request.QueryString["temp"];
if (temp != null)
{
try
{
int tempC = int.Parse(temp);
string tempF = getTempF(tempC);
Response.Write(tempF);
}
catch
{}
}
Response.End();
}
private string getTempF(int tempC)
{
com.developerdays.ITempConverterservice
svc = new ITempConverterservice();
int tempF = svc.CtoF(tempC);
return tempF.ToString();
}
現(xiàn)在我們要建立一個(gè)可以調(diào)用上面的getTemp.aspx頁(yè)的請(qǐng)求字符串,這個(gè)字符串將傳遞到RegisterStartupScript方法中。代碼如下:
int tempC = 25;
string url = String.Format("http://localhost/"
"getTemp.aspx?temp={0}", tempC);
在一些簡(jiǎn)單情況,如果要傳遞的只是簡(jiǎn)單的文本,可以通過URL直接傳給ExecuteCall方法。
結(jié)論
本文舉了一個(gè)在任何ASP.NET程序都可以使用AJAX技術(shù)的簡(jiǎn)單例子。AJAX除了能給用戶一些全新的體驗(yàn)外,也有一些缺點(diǎn)和不足。至于是否使用AJAX技術(shù),這完全取決于開發(fā)人員自身,在本文中我只是舉了個(gè)簡(jiǎn)單的例子,學(xué)習(xí)它并不需要太多的時(shí)間,也不需要任何特殊的技能。
分享:判斷瀏覽器是否接受Cookies 一種確定瀏覽器是否接受 Cookie 的方法是先編寫一個(gè) Cookie,然后再嘗試讀取這個(gè) Cookie。如果不能讀取這個(gè) Cookie,則可以認(rèn)為該瀏覽器不接受 Cookie。 我編寫了一個(gè)簡(jiǎn)單的示例來說明
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET 設(shè)計(jì)中的 N 個(gè)技巧
- 10個(gè)ASP.NET編程技巧
- asp.net如何連接sql server2000數(shù)據(jù)庫(kù)
- 用在JavaScript的RequestHelper
- 怎樣解決asp.net URL傳值出現(xiàn)錯(cuò)誤的問題
- “您無(wú)權(quán)查看該網(wǎng)頁(yè)”的原因和解決方法
- asp.net中文件下載功能的實(shí)例代碼
- 關(guān)于URL的傳遞字符串問題的研究
- 使用ADO.NET2.0提升數(shù)據(jù)交互性能(1)
- 數(shù)據(jù)訪問層的第一種實(shí)現(xiàn):Access SQL
- 相關(guān)鏈接:
- 教程說明:
.Net教程-在ASP.NET中使用AJAX的簡(jiǎn)單方法(3)
。