保存

时间:2017-07-12 18:40:49

标签: c# asp.net angularjs enums

我编写了以下EnumDropDownList:

<div class="form-group">
     @Html.LabelFor(model => model.SecurityClearance, htmlAttributes: new { @class = "control-label col-md-2 required-label" })
           <div class="col-md-10">
                @Html.EnumDropDownListFor(model => model.SecurityClearance, new { @class = "form-control", data_ng_model = "model.user.SecurityClearance", required = "required"})
                @Html.ValidationMessageFor(model => model.SecurityClearance, "", new { @class = "text-danger" })
           </div>
</div>

由以下枚举填充:

public enum SecurityClearance
{
    NONE = 0,
    INTERIM = 1,
    CONFIDENTIAL = 2,
    SECRET = 3,
    TOPSECRET = 4,
    TOPSECRETSCI = 5
}

一切都很好,到了一定程度。列表将正确填充,我可以选择一个值,并将该值保存到数据库中。问题在Save()之后开始。在每个Save()之后,下拉列表中的当前值将自行清除。数据库仍具有正确的值,但它不会显示在视图中。最后,我添加了这个来查看:

{{model.user.SecurityClearance}}

这行代码求值为与所选枚举的索引相对应的整数。即使在下拉列表'wipes'之后,Angular表达式仍将继续评估为正确的索引。

我假设我的问题是数据库在每次保存后都返回整数。这是有道理的,因为数据库将索引存储为整数而不是单词本身。

我的问题是:我在这个假设中是否正确?如果是这样,我如何将索引转换回正确的单词?

0 个答案:

没有答案