2017-08-16 17 views
1

我在一個視圖中使用了jquery ajax兩次。 第一個工作正常,但第二個將零值作爲輸入參數發送到相應的動作,我不知道爲什麼?如何在asp.net mvc核心中使用ajax?

<tr> 
    <th>(@((int)ViewBag.BoonCount))</th> 
     <td class="text-right"> 
      <input onchange="SetBoon()" class="form-control" type="number" name="Boon" id="MBoon" min="0" max="@((int)ViewBag.BoonCount)" value="" /> 
       <script> 
       function SetBoon() { 
        var BoonVal = $('#MBoon').val(); 

        $.ajax({ 
          url: '/Users/SetBoon', 
          method: 'post', 
          contentType: 'json', 
          data: { fID: '@Factor.ID', BValue: BoonVal } 
          }); 

        } 
      </script> 
      </td> 

,這是我的動作的代碼:

public string SetBoon(int fID, int BValue){} 

動作接收零parameter.I甚至測試@ Factor.ID進入SetBoon函數之前,有一個輸入有效的價值。

+0

在$就 – Adrian

+0

你發送factorID作爲一個字符串,而不是一個int取出的contentType嘗試。刪除單引號,即'data:{fID:@ Factor.ID,BValue:BoonVal}' – ADyson

+0

@ADyson我說明了你的觀點,但仍然返回零 –

回答

1

我必須用aType中的dataType替換contentType,如果我將從操作返回的數量中的contentType移除到另一個錯誤遇到的視圖。

0

json不是contentType。它是響應的數據類型。如果要指定請求的數據類型,使用

contentType: 'application/json'