2015-12-09 88 views
1

我有一張允許用戶「勾選」或「交叉」出一行的表格。選擇行將status值更改爲「已批准」,並將其更改爲「已拒登」。我目前正在使用編輯腳手架來執行它。我如何在不將用戶重定向到視圖的情況下執行此操作。我只想讓用戶點擊它並刷新頁面,並更新status值。MVC按鈕單擊執行操作而不重定向

我不確定要在這裏發佈什麼代碼,因爲我不知道如何編寫它。如果我的計劃的任何部分是必需的,請讓我知道。我將把它包括在這裏。謝謝:>

+0

您可以使用Ajax發佈更新的值,它保存到數據庫中的控制方法,並在成功回調,更新DOM。 –

回答

0
  1. 將css類添加到2個按鈕「approve-btn」和「reject-btn」。
  2. 創建JavaScript函數來批准和拒絕並將其綁定到 2類
  3. 創建2個後端功能從JS功能
  4. 使得Ajax調用傳遞該行項目的ID後端功能
  5. 在「成功:」 Ajax調用的管理狀態的改變,以顯示「批准」或「拒絕」

爲了使Ajax調用,您可以用下面的例子(儘管有萬噸例如在谷歌的) 。由於您正在修改數據,因此您應該使用POST調用,並且由於它是POST調用,因此應該添加RequestVerificationToken以防止CSRF攻擊。

function Approve(id){ 
    securityToken = $('[name=__RequestVerificationToken]').val(); 
    $.ajax({ 
     url: '/YourControllerName/Approve/' + itemId, 
     type: 'POST', 
     data: { 
      "__RequestVerificationToken": securityToken 
     }, 
     success: function (data) { 
      if (data == 'success') 
       //use jQuery to show the approved message; 
      else 
       alert("something went wrong");     
     }, 
     error: function (request, err) { 
      alert("something went wrong"); 
     } 
    }); 
} 

的令牌應在查看加入這一行創建:

@Html.AntiForgeryToken() 
+0

如何從JS函數調用ajax調用? :噢抱歉,因爲我剛剛開始MVC,我不熟悉Javascript –

相關問題