这是一个非常简单的方法。
@using(Html.BeginForm("save", "record"))
{
//your main form
<a id="lookup">find a person</a>
}
<div class="hidden" id="lookupdialog">
<form id="lookupform"> //Form is optional - just for 'postable' area indication
//lookup form
<input type="text" id="query">
<a id="search">search</a>
</form>
</div>
所以你有一个可见的主表单,一个隐藏的查找表单。然后你使用 javascript 来显示对话框。像在 jquery 中的东西:
$('#lookup').click(/*show #lookupdialog in a dialog*/);
所以现在你可以看到你的辅助表单了。当用户单击搜索时,您将向服务器发送请求。
$.ajax({
type: "POST",
url: "/persons/search",
data: {query: $(#query).text()},
success: function(data)
{
//show the list of persons found
}
});
然后,当用户选择一个人时,您将关闭对话框并将所选项目的 id 保存到您的主窗体。