我在数据库中有一个表
我已经能够在我的 View 中的下拉列表中显示 TypeName 列表
目前我正在做的是我的 Controller
[HttpGet]
public ActionResult CreateModule()
{
var moduleTypes = _db.ModuleTypes.Select(moduleType => moduleType.TypeName).ToList();
var model = new CreateModule
{
TypeNames = moduleTypes.Select(m => new SelectListItem
{
Value = m,
Text = m,
})
};
return View(model);
}
在视野中
<div class ="input-block-level">@Html.DropDownListFor(model => model.SelectedModuleTypeName, Model.TypeNames)</div>
结果是这样的
根据我的代码,我将从 Controller 的 post 方法中的 View 中获取 TypeName
。
如何更改我的代码以访问 Controller 中 TypeName
的 Id
?
最佳答案
修改你的 Action :
public ActionResult CreateModule()
{
var moduleTypes = _db.ModuleTypes.Select(moduleType => new { TypeName = moduleType.TypeName, Id = moduleType.Id }).ToList();
var model = new CreateModule
{
TypeNames = moduleTypes.Select(m => new SelectListItem
{
Value = m.Id.ToString(),
Text = m.TypeName,
})
};
return View(model);
}
关于asp.net-mvc - MVC 下拉列表 : Setting the value and text based upon table in database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295364/