2012-11-15 38 views
19

我剃刀視圖.I內部詮釋有像bleow剃刀轉換枚舉的圖

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

這條線是在選擇列表/下拉列表 在這個選項我有一個枚舉PHONETYPE。 對於申請@ PhoneType.Work文字工作正常 但值字段@ {(Int16的)PhoneType.Work不工作

我能做些什麼,在價值領域獲得枚舉的整數值

+0

你爲什麼不使用'Html.DropDownListFor'幫手? –

+0

如何在枚舉中使用它 –

+0

通過編寫一個幫手:http://stackoverflow.com/a/5961529/29407 –

回答

2

爲什麼不對您的視圖模型的另一個領域是一個整數

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

,並在您的視圖

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

這SY使用ntax應該做的伎倆(注意()代替{}):

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

我們可以使用ChangeType函數,如下所示。希望這對未來的人有所幫助。

<option [email protected](PhoneType.Work, PhoneType.Work.GetTypeCode())>@PhoneType.Work</option> 

<option [email protected](PhoneType.Work, typeof(int))>@PhoneType.Work</option>