在我看来,如果Prescriber,用户会搜索包含“Prescribers”列表的下拉列表 在数据库中不存在,它们有一个弹出包含“添加新内容”的窗口的按钮 处方者“查看。如何收集新用户输入Prescriber的主键字段数据并将其传回/重新填充下拉列表以包含新的Prescriber而不重新加载原始视图并丢失在其他字段中输入的信息?
<div class="editor-label">
@Html.LabelFor(model => model.DEA_Number, "Prescriber's DEA #")
</div>
<div class="editor-field">
@Html.DropDownList("DEA_Number", String.Empty)
@Html.ValidationMessageFor(model => model.DEA_Number)
</div>
<div>
<p>Prescriber Not in System? - Click to Add
<input type="button" name = "ClickMe" value="Add New Prescriber" onclick= "javascript:window.open('/Prescriber/Create/','Customer Search',height='window.screen.height - 100', width='200',left='window.screen.width - 250' ,top='10',status='no',toobar='no',resizable='yes',scrollbars='yes')"/>
</p>
</div>
答案 0 :(得分:0)
如果我理解正确,你可以做的是on popup close
发送一个ajax请求,在数据库中插入prescriber
并返回id
$.post("/URL/To/Controller",{name:'nameEnteredByUSerHere'},function(data){
$("<option/>",{value:data.value,text:data.text}).appendTo("#IDofYourDropDown");
},'json')
,控制器看起来像
[HttpPost]
public ActionResult InsertPrescriber(string name){
//do some validation
//insert data
return Json(new{value="id of the inserted prescriber",text=name});
}