我有一个枚举:
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)%>
当生成适当的隐藏输入元素时,其值为“Install”而不是“101”。这对我来说似乎很令人惊讶,因为枚举通常是通过它们的价值而不是它们的关键来处理的。
<input id="TaskType" name="TaskType" type="hidden" value="Install">
这是MVC中的常见问题吗?有一个简单的解决方法吗?
答案 0 :(得分:2)
首先使你的枚举类型继承自int
public enum TaskType :int
{
...
然后只需使用
<%=Html.HiddenFor(model => (int)model.TaskType)%>