Tim*_*Tim 12 asp.net-mvc entity-framework razor
使用MVC4 Razor和Entityframework 5.我有一个名为organization的表,它有一个整数TypeID字段,我创建了一个枚举类型.在代码中,我可以使用枚举设置和比较typeid.
public enum OrganisationType : int
{
Company = 1,
Department = 2,
Location = 4
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用默认的vs2012 mvc 4 razor模板或者通过mvcscaffolding nuget包生成create.cshtml时,都会忽略TypeID字段.我正在考虑修改tt模板,以便它们自动生成.但最初是可以在下拉列表中显示枚举的描述性名称.
Tim*_*Tim 25
这是解决方案,只是一个耻辱,修改TT模板以使其自动化并不简单.
@Html.DropDownListFor(model => model.TypeID, new SelectList(Enum.GetValues(typeof(Models.OrganisationType))))
Run Code Online (Sandbox Code Playgroud)
这会显示一个dropdowncombo,其中包含Textual值,即公司,部门,位置.
在当前版本的MVC5中,如果您为具有枚举的模型构建视图,它将生成以下内容:
@Html.EnumDropDownListFor(model => model.OrganisationType,
htmlAttributes: new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)
这与Tim的解决方案完全相同,但语法稍微好一些.
| 归档时间: |
|
| 查看次数: |
4133 次 |
| 最近记录: |