我有一个剃刀的看法。我有一条线像吹
<option value='@{(Int16)PhoneType.Work}'>@PhoneType.Work</option>
这是选择列表/下拉列表中的一个选项在此我有一个枚举 PhoneType。对于提交的文本 @PhoneType.Work 工作正常,但对于值字段 @{(Int16)PhoneType.Work 不起作用
我该怎么做才能在 value 字段中获取枚举的整数值
我有一个剃刀的看法。我有一条线像吹
<option value='@{(Int16)PhoneType.Work}'>@PhoneType.Work</option>
这是选择列表/下拉列表中的一个选项在此我有一个枚举 PhoneType。对于提交的文本 @PhoneType.Work 工作正常,但对于值字段 @{(Int16)PhoneType.Work 不起作用
我该怎么做才能在 value 字段中获取枚举的整数值
这种语法应该可以解决问题(注意 () 而不是 {}):
<option value='@( (Int16) PhoneType.Work )'>@PhoneType.Work</option>
Why not have another field on your viewModel that is an integer
public WorkId {get {return (int)Work; }
and use this in your view
<option value='@PhoneType.WorkId'>@PhoneType.Work</option>
我们可以使用 ChangeType 函数,如下所示。希望这对将来的某人有所帮助。
<option value=@Convert.ChangeType(PhoneType.Work, PhoneType.Work.GetTypeCode())>@PhoneType.Work</option>
或者
<option value=@Convert.ChangeType(PhoneType.Work, typeof(int))>@PhoneType.Work</option>