c# – 如何为枚举创建EditorTemplate?
发布时间:2020-12-15 21:59:29 所属栏目:百科 来源:网络整理
导读:我有一个带枚举的模型 public enum Gender{ Male,Female,Unspecified}public class FooClass{ public Gender UserGender {set; get;}} 由于此Gender可能在其他类中使用,我想为它创建一个EditorTemplate并在create / edit视图中请求编辑器: @Html.EditorFor(
我有一个带枚举的模型
public enum Gender { Male,Female,Unspecified } public class FooClass { public Gender UserGender {set; get;} } 由于此Gender可能在其他类中使用,我想为它创建一个EditorTemplate并在create / edit视图中请求编辑器: @Html.EditorFor(model => model.UserGender) 之后,我创建了一个位于Views / Shared / EditorTemplates / Gender.cshtml中的局部视图.在模板中,我添加了一些仅用于测试的内容: @model TestProject.Models.Entity.Gender @Html.TextBox("") 要么 @model TestProject.Models.Entity.Gender Hello... 但我得到的只是一个例外:
这是编辑器模板的工作原理还是我完全偏离轨道? 编辑: 如果我删除模板文件(Gender.cshtml),我将获得一个文本字段作为编辑器,并且不会抛出任何异常. 此外,这是一个创建视图,在控制器中我没有传递任何对象.我只是调用return View(); 解决方法
你可以尝试这样的事情
@model Nullable<TestProject.Models.Entity.Gender> @Html.ListBox("lb",Enum.GetValues(typeof(TestProject.Models.Entity.Gender)).Cast<TestProject.Models.Entity.Gender>().Select(i => new SelectListItem() { Text = i.ToString(),Value = i.ToString(),Selected=i==Model })) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容