将参数传递给onSuccess回调函数

use*_*827 3 forms ajax asp.net-mvc

我有以下表格:

   @using (Ajax.BeginForm("DoComment", "Publication", new { id = Model.Publication.OID, parentId = Model.OID }, new AjaxOptions
         {
              OnSuccess = "publishCommentSuccess"
         }))
   {
           //some code
   }
Run Code Online (Sandbox Code Playgroud)

我怎样才能parentId进入publishCommentSuccess功能?

function publishCommentSuccess (json) {

        if (!json.Result)
            showAuthBox();
        else
            alert(json.Message);

    };  
Run Code Online (Sandbox Code Playgroud)

谢谢.

Dar*_*rov 5

由于此参数传递给控制器​​操作,因此您可以让此控制器操作将其作为JSON响应的一部分返回:

public ActionResult DoComment(int id, int parentId)
{
    ... 

    return Json(new 
    {
        Message = "foo",
        ParentId = parentId
    }, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

这样你就可以在成功回调中使用它:

function publishCommentSuccess (json) {
    alert(json.ParentId);

    ...
}; 
Run Code Online (Sandbox Code Playgroud)