31

我有一个剃刀的看法。我有一条线像吹

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

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

我该怎么做才能在 value 字段中获取枚举的整数值

4

3 回答 3

64

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

<option value='@( (Int16) PhoneType.Work )'>@PhoneType.Work</option>
于 2013-08-01T08:01:21.120 回答
3

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>
于 2012-11-15T11:43:02.270 回答
1

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

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

或者

<option value=@Convert.ChangeType(PhoneType.Work, typeof(int))>@PhoneType.Work</option>
于 2016-08-17T21:12:01.967 回答