2012-06-21 139 views
3

我有以下形式:傳遞參數的onSuccess回調函數

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

如何傳遞parentIdpublishCommentSuccess功能?

function publishCommentSuccess (json) { 

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

    }; 

謝謝。

回答

5

由於這個參數傳遞給控制器​​動作,你可以有這樣的控制器操作返回它的JSON響應的一部分:

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

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

,讓你可以在你的成功回調使用它:

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

    ... 
};