2013-03-22 93 views
0

我在asp.net MVC應用程序工作,我加入了一個這樣的ActionLink的:解析JSON來ajax.actionlink

<%= Ajax.ActionLink("Event Notifications", "processCallrecording", new { Id = ViewData["RecordingIDsEdit"] }, new AjaxOptions 
{ 
    OnSuccess = "StatusChanged", 
    HttpMethod = "POST" 
})%> 

我的控制器是這樣的:

[HttpPost] 
     public JsonResult ProcessCallRecording(int Id = 0) 
     { 
int result = id; 
return Json(new {NewStatus = result.ToString()}); 
     } 

我的js函數是這樣的:

function StatusChanged(data) { 
alert("order #:" + data.NewStatus + "has a new status: " 
    + data.NewStatus); 
} 

,我看到警報定義。我在這個問題上最近2個小時掙扎。請告訴我什麼是錯的?

+0

使用firebug或IE Developer工具來查看來自ajax調用的數據是什麼?這是一個有效的JSON? – Shyju 2013-03-22 10:49:58

+0

返回的響應是:{「NewStatus」:「2.88000000000001」} – DotnetSparrow 2013-03-22 11:07:13

+0

您已經記錄了「數據」變量? – karaxuna 2013-03-22 11:20:06

回答

0

試試這個

<%= Ajax.ActionLink("Event Notifications", "processCallrecording", new { Id = Convert.ToInt32(ViewData["RecordingIDsEdit"]) }, new AjaxOptions 
{ 
    OnSuccess = "StatusChanged", 
    HttpMethod = "POST" 
})%> 
爲你,我已經使用可視數據,所以你缺少其轉換成詮釋

。還要確保我在動作鏈接之前添加了這些腳本。

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