如何本地化枚举并使用类似于 Html.SelectListFor的内容
假设我得到了以下类和枚举:
public class MyModel
{
[DisplayName("Min egenskap")]
public MyEnum TheProperty {get;set;}
}
public enum MyEnum
{
[DisplayName("Inga från Sverige")]
OneValue,
[DisplayName("Ett annat värde")]
AnotherValue
}
上面的代码不起作用,因为 DisplayNameAttribute
不能在枚举上使用。还有其他属性可以使用吗?
我想做的是使用 Html.SelectListFor(m => m.TheProperty)
之类的东西生成一个漂亮的 html select
标签。该列表将在生成过程中使用 DisplayNameAttribute
或类似属性。
想要的结果:
<select name="TheProperty">
<option value="OneValue">Inga från Sverige</option>
<option value="AnotherValue" selected="selected">Ett annat värde</option>
</select>
Let's say that I got the following class and enum:
public class MyModel
{
[DisplayName("Min egenskap")]
public MyEnum TheProperty {get;set;}
}
public enum MyEnum
{
[DisplayName("Inga från Sverige")]
OneValue,
[DisplayName("Ett annat värde")]
AnotherValue
}
The above code doesn't work since DisplayNameAttribute
cannot be used on enums. Are there another attribute that can be used?
What I want to do is to generate a nice html select
tag using something like Html.SelectListFor(m => m.TheProperty)
. The list would use the DisplayNameAttribute
or similar attribute during generation.
Wanted result:
<select name="TheProperty">
<option value="OneValue">Inga från Sverige</option>
<option value="AnotherValue" selected="selected">Ett annat värde</option>
</select>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如何执行此操作的一个示例是在枚举上使用 [Description] 属性:
然后创建此 EnumerationHelper 类,该类将允许您获取枚举的 Description 属性:
然后您可以查询枚举类以获取值和描述然后构建一个 SelectList。您必须在此类中引用 EnumerationHelper:
最后在您看来:
我希望这会有所帮助。
An example of how to do this is to use the [Description] attribute on your enum:
Then create this EnumerationHelper class that will allow you to get the Description attribute of your enum:
Then you can query your enum class to get the value and description to then build a SelectList. You must reference the EnumerationHelper in this class:
And then finally in your view:
I hope this helps.
我想在视图中显示枚举,所以我制作了一个类似的 Html 帮助器:
用法:
I wanted to display the Enum in the view so I made a similar Html helper:
Usage: