2013-05-16 51 views
0

我需要通知用戶有關單擊操作的成功/失敗。鑑於我已準備好進入控制器的操作鏈接,執行數據庫操作並返回結果。然後,我想通過消息「完成」或「失敗」顯示警報。一切都應該完成,無需重新加載頁面。我試圖定義@Ajax.ActionLink和text/javascript函數,但它根本不起作用...請幫助。提前致謝。在mvc3/4中顯示警報後

羅伯特

回答

1

首先,你應該包括腳本:jQuery和jquery.unobtrusive阿賈克斯這樣的:

<head> 
    ... 
    <script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 
</head> 

內視圖:

<script type="text/javascript"> 
    function myCallback(data) { 
     if(!data.Success) 
     { 
      alert(data.ErrorMessage); 
     } 
     else 
     { 
      alert("id: " + data.Id); 
     } 
    } 
</script> 

@Ajax.ActionLink("Actionlink", // <-- Text to display 
       "GetDeneme", // <-- Action Method Name 
       new { id = "2"}, 
       new AjaxOptions 
       {       
        HttpMethod = "POST", // <-- HTTP method 
        OnSuccess = "myCallback" 
       }) 

在控制器:

public ActionResult GetDeneme(string id) 
     { 
      var error = (id == "3"); 

      if (error) 
      { 
       return Json(new { Success = false, ErrorMessage = "Error!" }); 
      } 

      return Json(new { Success = true, Id = id }); 
     }