1
我有一個枚舉:MVC3隱藏與枚舉。輸入的值是枚舉鍵不值?
public enum TaskType
{
None = 100,
Install = 101,
Decommission = 102,
Modify = 103,
Rename = 104,
Move = 105,
Incident = 106,
Other = 107
};
,我想通過保存它作爲我的模型的屬性來表示我認爲它的當前值:
public class ProvisioningListModel
{
public TaskType TaskType { get; set; }
public ProvisioningListModel(Task task)
{
TaskType = task.TaskType;
}
}
我的觀點有相應:
<%=Html.HiddenFor(model => model.TaskType)%>
當生成適當的隱藏輸入元素時,其值爲「安裝」而不是「101」。這對我來說似乎令人驚訝,因爲枚舉通常是通過它們的價值而不是它們的關鍵來處理的。
<input id="TaskType" name="TaskType" type="hidden" value="Install">
這是MVC中的常見問題嗎?有一個簡單的解決方法嗎?
但後來我不得不投回到任務類型的我查看裏面,當我收到我的模型在我控制器我必須再次施放? –
關於爲什麼這將來自程序化立場的任何想法?看起來,當我們不得不作出保存一個或另一個的決定時,枚舉的關鍵字遠沒有它的價值有用。有一點讓MVC的設計決定感到震驚。 –
@SeanAnderson枚舉是有用的,因爲你的枚舉值可能會有所不同,但不是鍵。即使你改變你的枚舉值,你也不需要重寫邏輯。 –