asp.net-mvc – 如何将枚举传递给Html.RadioButtonFor以获取MVC 2 RC 2,C#中的单选按钮列表

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何将枚举传递给Html.RadioButtonFor以获取MVC 2 RC 2,C#中的单选按钮列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用以下行在MVC 2 RC 2(C#)中呈现单选按钮列表:
<%= Html.RadioButtonFor(model => Enum.GetNames(typeof(DataCarry.ProtocolEnum)),null) %>

但它只是在运行时给我以下异常:

Templates can be used only with field access,property access,single-dimension array index,or single-parameter custom indexer expressions.

这是可能的吗?如果是的话,请问怎么样?

解决方法

您可以在/Views/Shared/EditorTemplates/Enum.ascx中创建名为“Enum”的模板

具有以下内容

<%= Html.DropDownList(string.Empty,Enum.GetNames(Model.GetType()).ToList().ConvertAll(e => new SelectListItem() { Text = e.ToString(),Value = e,Selected = e.Equals(Model.ToString())}))  %>

这只是枚举枚举值.

你可以用这个来打电话

Html.EditorFor(m => m.YourEnumProperty,"Enum" /*The name of the template*/)

猜你在找的asp.Net相关文章