解析json从asp.net mvc控制器动作到ajax.actionlink

时间:2013-03-22 10:47:40

标签: asp.net-mvc json jquery

我正在开发asp.net mvc应用程序,我添加了这样的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个小时。请问我有什么问题?

1 个答案:

答案 0 :(得分:0)

试试这个

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

因为你使用了viewData所以你缺少将它转换为Int。还要确保我在行动链接之前添加了这些脚本。

<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>