将参数传递给onSuccess回调函数

时间:2012-06-21 08:42:21

标签: ajax asp.net-mvc forms

我有以下表格:

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

如何将parentId传递给publishCommentSuccess函数?

function publishCommentSuccess (json) {

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

    };  

感谢。

1 个答案:

答案 0 :(得分:5)

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

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

    return Json(new 
    {
        Message = "foo",
        ParentId = parentId
    }, JsonRequestBehavior.AllowGet);
}

以便您可以在成功回调中使用它:

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

    ...
};