2

私は列挙型を持っています:

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」ではなく「Install」になります。列挙型は通常、キーではなく値によって処理されるため、これは私には驚くべきことでした。

<input id="TaskType" name="TaskType" type="hidden" value="Install">

これは MVC の一般的な問題ですか? 簡単な修正はありますか?

4

1 に答える 1

2

最初に int から継承する列挙型を作成します

public enum TaskType :int
{
  ...

次に、単に使用します

<%=Html.HiddenFor(model => (int)model.TaskType)%>
于 2013-07-12T21:57:24.857 に答える