2014-03-30 83 views
0

我試圖從jquery調用asp.net webmethod.But它永遠不會從Jquery調用。WebMethod沒有從asp.net中的jquery調用

[WebMethod] 
public void AddProductToCart(int productid) 
{ 
    Response.Write(productid.ToString()); 
    MyShoppingCart usersShoppingCart = new MyShoppingCart(); 
    String cartId = usersShoppingCart.GetShoppingCartId(); 
    try 
    { 
     usersShoppingCart.AddItem(cartId, productid, 1); 
    } 
    catch (Exception ex) 
    { 
     throw new Exception(ex.Message); 
    } 

jQuery函數

function d(t) { 
     e.ajax({ 
     url: "productmodel.aspx/AddProductToCart", 
     type: "POST", 
     data: JSON.stringify(t), 
     dataType: "json", 
     contentType: "application/json; charset=utf-8", 
     sucess: function() { 
      alert("added to cart successfully"); 
     } 
    }) 
} 

請幫我解決這個問題。

+1

會發生什麼?檢查您的控制檯,特別是網絡選項卡,請求的狀態是什麼?我們需要更多信息! – tymeJV

+1

我猜Webmethods應該是.aspx.cs文件中的靜態文件,可能是您在控制檯選項卡中找不到404例外 –

+0

使用[ScriptMethod屬性](http://msdn.microsoft.com/en-us/library/ system.web.script.services.scriptmethodattribute(v = vs.110)的.aspx)。請參閱[WebMethod vs ScriptMethod](http://stackoverflow.com/questions/941484/webmethod-vs-scriptmethod),該方法必須是'公共靜態' –

回答

5

ASP.NET Webmethods必須是靜態方法。

更改您的聲明:

[WebMethod] 
public static void AddProductToCart(int productid) 
{ 
    ... 
相關問題