国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

IIS7中Ajax.AjaxMethod無效的原因及解決方法

2024-09-01 08:32:10
字體:
來源:轉載
供稿:網友
使用Ajax.AjaxMethod方法在asp.net的服務器下一切正常,用iis的時候,js中總是cs類找不到,具體的解決方法如下,遇到類似情況的朋友可以參考下

最近做用Ajax.AjaxMethod方法的時候,在asp.net的服務器下一切正常,用iis的時候,js中總是cs類找不到,我就郁悶了,折騰了大半天,終于找到錯誤原因了。

因為我發布網站用的是iis7,所以在web.config位置文件中<system.webServer><handlers>></handlers><system.webServer>里加入<add type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />標簽。

我的問題就是由于沒有注意到iis版本問題,導致的。。。悲了個劇!

現在將整個方法要注意的都寫下來,也方便以后再看,希望的的遭遇能讓碰到同樣錯誤的人看到,省下一點寶貴的時間,畢竟生命誠可貴嗎,少費點神,少掉幾根毛,哈哈。。。

直接在網上找篇全面的,別罵我抄襲。。。

使用AjaxMethod要滿足一下幾點:
1、如果還沒有ajax.dll文件,就先下載一個來
2、將ajax.dll添加到項目引用中:在VS的解決方案資源管理器中右鍵點擊項目名稱--“添加項目引用”--瀏覽,找到ajax.dll確定
3、webCofig中<httpHandlers>加上<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>節點
如果是IIS7,則需要在<system.webServer></system.webServer>里加上<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
在CS程序中加上

復制代碼 代碼如下:


protected void Page_Load(objectsender,EventArgse)
{
Ajax.Utility.RegisterTypeForAjax(typeof(ClassName));//ClassName是這個CS文件的類名
}


編寫CS方法,方法前加上[Ajax.AjaxMethod()],
如果要使AjaxMethod里面能調用session,寫成:[Ajax.AjaxMethod(HttpSessionStateRequirement.Read)] ,
如:

復制代碼 代碼如下:


[Ajax.AjaxMethod()]
public string GetAddress(string UserID)
{
string Address="";
//do somthing to get the address here
return Address;
}


注意方法要寫成public,否則在JS里調用的時候會提示“不支持此屬性或方法”

4、確保頁面中有<form runat="server"></form>標簽。

5、ASPX的JAVASCRIPT中調用時加上類名 ,如:
var address = ClassName.GetAddress('123').value;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富裕县| 鄂州市| 洪雅县| 海原县| 同德县| 澎湖县| 诸暨市| 邯郸县| 夏津县| 浦北县| 石阡县| 冕宁县| 金塔县| 平安县| 遂溪县| 全州县| 临泉县| 南通市| 搜索| 云浮市| 枣庄市| 霍林郭勒市| 米易县| 太和县| 枝江市| 玉门市| 宽甸| 和林格尔县| 鄯善县| 澎湖县| 玉田县| 石城县| 水城县| 永新县| 房山区| 淅川县| 巴马| 杭锦旗| 博客| 宝坻区| 磴口县|