.net內如何以jQuery搭配應用.ashx檔案

本篇文章有兩個重點:
  1. .net內如何jQuery搭配應用.ashx檔案
  2. 應用.ashx檔時應該注意什麼?

在.net中若要以jQuery.ajax實作ajax效果,可以用.aspx網頁來當作背後端提供資料,但因為是在背後端單純提供資料,所以該頁不需要有任何伺服端控制項。也就是說:假設你要建立service.aspx來當作提供背後端資料頁,你只會需要service.aspx.cs,而前端根本不需要任何控制項。所以為了節省檔案,建議可以使用*.ashx(泛型處理)。

這是前端jQuery想要呼叫背後端service.ashx的寫法
var ff="001";
$.get("service.ashx",{"f":ff}, function() {
.............
});


這是service.ashx檔案內容
string ss = "";

public void ProcessRequest (HttpContext cx) {
switch (cx.Request.QueryString["f"].ToString())
{
case "1": { ss=feed_delete(cx); break; }
case "2": { break; }
case "3": { break; }
}
cx.Response.ContentType = "text/plain";
cx.Response.Write(ss);

}


但今天測試的結果發現,我有些專案的*.ashx可以
秀出資料有些卻不行,花了點時間找出原因後才原因發現我之前使用過AjaxPro(那是很久前的另一個.net ajax技術方案),會在web.config中植入下列標籤。所以不顯示的原因就出在這,後來將該標籤拿掉就顯示正常了

下列是web.config檔案
......
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<!--<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>-->
</httpHandlers>
......