2014-04-12 86 views
0

我想按鈕被點擊時要調用AJAX Web方法。這是我寫的以下代碼。jQuery的AJAX web方法調用

$(function() { 
      $("<%=btnRatingSubmit.ClientID%>").click(function (e) { 
       var textrating = $('#<%= btnRatingSubmit.ClientID %>'); 
       $.ajax({ 
        type: 'POST', 
        url: 'NewRatings.aspx/SubmitRatings', 
        data: '{rating: \'' + textrating.val() + '\'}', 
        contentType: 'application/json; charset=utf-8', 
        dataType: 'json', 
        success: function doNothing(data) { 
        }, 
        error: function throwError(data) { 
        }, 
       }); 
      }); 

這是ASP的按鈕,我使用

<asp:Button ID="btnBack" runat="server" Text="Back To Results" OnClick="btnBack_Click" /> 

後面的代碼是

[WebMethod] 
     [ScriptMethod] 
     public static void SubmitRatings(string rating) 
     { 
      if (HttpContext.Current.Request.QueryString["ID"] != null) 
      { 
       if (HttpContext.Current.Session["LoginId"] != null) 
       { 
        string str = HttpContext.Current.Request.Form["lblRate"]; 

        RatingsBAL bal = new RatingsBAL(); 
        bal.StoreRatings(HttpContext.Current.Session["LoginId"].ToString(), HttpContext.Current.Request.QueryString["ID"], Convert.ToInt32(rating)); 
       } 
      } 
     } 

但由於某些原因Web方法不被解僱。任何人都可以幫助我嗎?提前致謝。

回答

0

變化$("<%=btnRatingSubmit.ClientID%>").click
$('#'+"<%=btnRatingSubmit.ClientID%>").click

你是缺少一個#,這是用來選擇在jQuery的通過它們的ID元素。

全碼:

$(function() { 
    $('#' + "<%=btnRatingSubmit.ClientID%>").click(function (e) { 
     var textrating = $('#<%= btnRatingSubmit.ClientID %>'); 
     $.ajax({ 
      type: 'POST', 
      url: 'NewRatings.aspx/SubmitRatings', 
      data: { 
       rating: textrating.val() 
      }, 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      success: function doNothing(data) {}, 
      error: function throwError(data) {}, 
     }); 
    }); 
+0

艾米特:我已經試過了,但是沒有用的。無論如何感謝您的回覆。 – JItendra

+0

艾米特:說明在last.Can沒有工作謝謝你告訴我,我怎麼能做到以下幾點。我有一個asp標籤,其文本動態變化。但在嘗試檢索更改的值時,按鈕單擊時,由於回發,該值將被設置爲空(初始值)。但我如何保留這個價值呢?再次感謝。 – JItendra

+0

你應該接受我的答覆與upvote可能:)。使之成爲獨立的問題 –

0

function Functioncall(){ 
 
     var textrating = $('#<%= btnRatingSubmit.ClientID %>'); 
 
     $.ajax({ 
 
      type: 'POST', 
 
      url: 'NewRatings.aspx/SubmitRatings', 
 
      data: { 
 
       rating: textrating.val() 
 
      }, 
 
      contentType: 'application/json; charset=utf-8', 
 
      dataType: 'json', 
 
      success: function doNothing(data) {}, 
 
      error: function throwError(data) {}, 
 
      }); 
 
    }
<asp:Button ID="btnBack" runat="server" Text="Back To Results" OnClientClick="Functioncall()" />

+0

這是否與接受的答案不同? – TZHX

+0

可以調用簡單的java腳本方法,然後調用ajax方法。 –