0

私はasp.net mvcアプリケーションに取り組んでおり、次のようなアクションリンクを追加しました:

<%= 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);
}

アラートに undefined が表示されます。この問題で過去2時間苦労しています。何が間違っているのか教えてください。

4

1 に答える 1

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>
于 2013-03-22T11:38:19.677 に答える