mvc3 ajax预填充文本框

时间:2013-02-25 19:54:09

标签: ajax asp.net-mvc-3 data-binding

我有一个使用 ajax.actionlink 的控制器,以便从另一个控制器获取局部视图。我的问题是如何使用ajax partialview中的结果填写主要操作中的文本框

这是我正在处理的视图对应于此视图

@Ajax.ActionLink("Find location", "getzipcode",
new AjaxOptions
{
    UpdateTargetId = "ajax_insert",
    InsertionMode = InsertionMode.Replace,
    HttpMethod = "GET"
});

<div id="ajax_insert">

</div>

@using (Html.BeginForm("create", "service", FormMethod.Post))
{

    // fill Ajax code in this EditFor Result
    @Html.EditorFor(model => model.zipcode)

}

正如您在上面看到的那样,ajax只是请求一个名为 getzipcode 的部分视图,该视图只链接到此操作

public PartialViewResult getzipcode()
{
    var zipco = (from s in db.servicers where s.zipcode == 32839 select s);

    return PartialView("_review", zipco);
}

ajax工作正常,我只是难以将zipcode插入EditFor框中,我也尝试过 @ Html.EditorFor(model =&gt; model.zipcode,@ ajax_insert)但它没有用。

1 个答案:

答案 0 :(得分:0)

您可以使用onSuccess回调函数

    @Ajax.ActionLink("Find location", "getzipcode",
    new AjaxOptions
    {
        UpdateTargetId = "ajax_insert",
        InsertionMode = InsertionMode.Replace,
        HttpMethod = "GET",
        OnSuccess = "fillTextBox"
    });

    <script type="text/javascript>
     function fillTextBox(){
      //Use jquery to fill your text box
     }
    </script>