【问题标题】:Razor converting enum to int inside a viewRazor 在视图中将枚举转换为 int
【发布时间】:2012-11-03 23:42:50
【问题描述】:

我是一个锐利的观点。我有一条线像 bleow

<option value='@{(Int16)PhoneType.Work}'>@PhoneType.Work</option>

这是选择列表/下拉列表中的一个选项 在这个我有一个枚举PhoneType。 对于提交的文本@PhoneType.Work 工作正常 但是对于值字段 @{(Int16)PhoneType.Work 不起作用

如何在 value 字段中获取枚举的整数值

【问题讨论】:

标签: .net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

为什么不在你的 viewModel 上有另一个整数字段

public WorkId {get {return (int)Work; }

并在您的视图中使用它

<option value='@PhoneType.WorkId'>@PhoneType.Work</option>

【讨论】:

    【解决方案2】:

    这种语法应该可以解决问题(注意 () 而不是 {}):

    <option value='@( (Int16) PhoneType.Work )'>@PhoneType.Work</option>
    

    【讨论】:

      【解决方案3】:

      我们可以使用如下的 ChangeType 函数。希望这对将来的某人有所帮助。

      <option value=@Convert.ChangeType(PhoneType.Work, PhoneType.Work.GetTypeCode())>@PhoneType.Work</option>
      

      <option value=@Convert.ChangeType(PhoneType.Work, typeof(int))>@PhoneType.Work</option>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-28
        • 2011-01-23
        • 2011-08-18
        • 2010-09-06
        • 1970-01-01
        相关资源
        最近更新 更多