Shyju的回答是不錯的獲取選中的值,我只是想在什麼Shyju已與一些指點說擴大。
只使用您需要的數據在每個視圖中使用視圖模型,任何不使用的請刪除。
你的域模型看起來是這樣的:
public class Hospital
{
public int Id { get; set; }
public string Name { get; set; }
}
您的視圖模型看起來是這樣的:
public class DoctorHospitalViewModel
{
public int HospitalId { get; set; }
public IEnumerable<Hospital> Hospitals { get; set; }
}
你的看法可能是這樣的(我把下拉菜單中的表顯示目的):
<table>
<tr>
<td class="edit-label">Hospital <span class="required">**</span></td>
<td>
@Html.DropDownListFor(
x => x.HospitalId,
new SelectList(Model.Hospital, "Id", "Name", Model.HospitalId),
"-- Select --"
)
@Html.ValidationMessageFor(x => x.HospitalId)
</td>
</tr>
</table>
你的控制器可能看起來像這樣,並假設你想要使用th是創建視圖中的下拉列表:
public class HospitalController : Controller
{
private readonly IHospitalRepository hospitalRepository;
public HospitalController(IHospitalRepository hospitalRepository)
{
// Check that hospitalRepository is not null
this.hospitalRepository = hospitalRepository;
}
public ActionResult Create()
{
DoctorHospitalViewModel viewModel = new DoctorHospitalViewModel
{
Hospitals = hospitalRepository.GetAll()
};
return View(viewModel);
}
[HttpPost]
public ActionResult Create(DoctorHospitalViewModel viewModel)
{
// Check that viewModel is not null
if (!ModelState.IsValid)
{
viewModel.Hospitals = hospitalRepository.GetAll();
return View(viewModel);
}
// Do what ever needs to be done
// You can get the selected hospital id like this
int selectedHospitalId = viewModel.HospitalId;
return RedirectToAction("List");
}
}
我希望這有助於。
請參閱我的DDL教程http://www.asp。net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc和http://blogs.msdn.com/b/rickandy/存檔/ 2012/01/09/cascasding-下拉列表,在-ASP淨mvc.aspx – RickAndMSFT 2012-08-07 18:16:09