如何通过Ajax.BeginForm生成的数据通过表单发布后,由控制器发布操作返回的json结果值?

时间:2013-07-19 07:19:55

标签: c# ajax asp.net-mvc json

好吧,我的视图中有一个ajax post表单,声明为OnComplete javascript处理函数名称:

模型

class MyModel
{
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
}

查看

<input type="text" id="inputToUpdate" />
@using (Ajax.BeginForm("Action", "Controller", new AjaxOptions
                                                   {
                                                       HttpMethod = "Post",
                                                       OnComplete = "onComplete"
                                                   }))
{
    @Html.TextBoxFor(m => m.Prop1)
    @Html.TextBoxFor(m => m.Prop2)
}

控制器

[HttpPost]
public ActionResult Action(MyModel model)
{
     model = ChangeModel(model);
     return Json(model);
}

Javascript OnComplete处理程序

function onComplete() {
    var data = // get returned json data here
    $('#inputToUpdate').text(data.Prop1 + " " + data.Prop2);
}

如何使用此类实现,在javascript onComplete方法中返回json数据,以处理此数据?

1 个答案:

答案 0 :(得分:2)

你不能这样做吗?

function onComplete(data) {
    $('#inputToUpdate').text(data.Prop1 + " " + data.Prop2);
}

我认为JSON数据将作为参数传递给回调。