【发布时间】:2018-06-01 08:00:24
【问题描述】:
我希望在发布后(剃刀)后保留下拉列表中的值的问题上获得一些指导
我有一个简单的页面:
@model testContingency.Models.ListByWardDD
@{
ViewBag.Title = "TestDropDowns";
}
<h2>TestDropDowns</h2>
<div>
@Html.DropDownList("HospModel", Model.Hospital, new { @onchange = "ChangeHospital(this.value)" })
@Html.DropDownList("WardModel", Model.Wards)
<script type="text/javascript">
function ChangeHospital(val) {
window.location.href = "/PatientListByWardDD/TestDropDowns?hospID=" + val;
}
</script>
</div>
这是控制器
public ActionResult TestDropDowns(int? hospID)
{
PASInpatientRepository pasRepo = new PASInpatientRepository();
var returnModel = new ListByWardDD();
var HospitalData = pasRepo.GetPatientHospitalsEnum();
returnModel.Hospital = pasRepo.GetHopspitalListItems(HospitalData);
var WardData = pasRepo .GetPatientWardsEnum(hospID);
returnModel.Wards = pasRepo.GetWardListItems(WardData);
ViewBag.HospSearch = hospID;
return View(returnModel);
}
在控制器中PASInpatientRepository() 与缓存数据库通信。它传回公共 IEnumerable GetHopspitalListItems。它调用在缓存数据库中编写的存储过程(本质上与 sql 存储过程相同)。这一切都以自己粗鲁的方式正常工作。
我遇到的问题是,当我选择下拉列表 @Html.DropDownList("HospModel", Model.Hospital, new { @onchange = "ChangeHospital(this.value)" }) 并调用控制器刷新病房下拉列表时,我想保留我在医院下拉列表中选择的值。我尝试了几种不同的方法,但我承认,我有点卡住了。我发现的大多数示例都是针对强类型的。
正如我所提到的,我是 MVC 的新手,但是对于如何解决这个问题的任何建议,或者关于改进我的代码的建议,我们都非常感谢。
【问题讨论】: