我有一个使用 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)但它没有用。
答案 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>