一直在想在asp.net中怎么才能向在java中那樣用struts那樣做頁面請求。
當(dāng)然asp.net mvc就是類似struts的東西吧,不過還沒來得及學(xué)習(xí)。
今天就用ashx來接收頁面請求,并調(diào)用后臺,然后返回數(shù)據(jù)給前臺,用jquer .ajax提交請求,接收ashx返回的數(shù)據(jù)。
例子:
例子是要實現(xiàn)頁面加載時從數(shù)據(jù)庫讀取數(shù)據(jù),并把數(shù)據(jù)放到一個下拉列表中。(因為是用ajax,就建html頁面就行了,一直不喜歡aspx頁面,感覺它太臃腫了。)
一.準(zhǔn)備工作:
1.建web應(yīng)用程序aspnetAjax
2.建index.htm
3.建個js文件夾,把jquery.js放進(jìn)去,
4.建ajax文件夾,里面放ashx
5.在js文件夾建index.js,一般我們都是一個頁面對應(yīng)一個js
6.在ajax文件夾,建IndexHandler.ashx,一般一個js頁面對應(yīng)一個一般用戶控件,這樣層次感很強(qiáng),也很好維護(hù)。
二.html頁面
html頁面就簡單了,我們要用ajax讀后臺做個下拉列表,所以頁面就放個DIV就行了。其他的交給js.
編寫IndexHandler.ashx代碼
我們把index.js改下
我可以看到如下數(shù)據(jù),就是ashx中response給我們的json格式數(shù)據(jù),現(xiàn)在我們要把這些數(shù)據(jù)
顯示在下拉列表中。就要遍歷json中的數(shù)組。
修改index.js代碼,遍歷json數(shù)據(jù)把數(shù)據(jù)顯示成下拉列表
------------------------
ok,完結(jié)!@
--這個實例涉及到的知識點(diǎn)
1.使用一般處理程序,接收request。并可以使用response數(shù)據(jù)
string meth = context.Request.Params["meth"].ToString();
因為一般處理程序
public class IndexHandler : IHttpHandler
他實現(xiàn)IHttpHandler接口
2.json數(shù)據(jù)格式
3.使用jquery ajax,并用jquery解析json數(shù)據(jù)。