c# - ASP.NET MVC Html.EnumDropDownListFor 选定值

标签 c# asp.net-mvc razor enums

我在 ASP.NET MVC 中使用 EnumDropDownListFor:

 @Model.PhoneNumberType

 @Html.EnumDropDownListFor(model => model.PhoneNumberType, new {@class = "form-control"})

这不会在下拉列表中预先选择枚举的值。 如果我只显示 enum 值,它将显示正确的 enum 值。 DropDown 始终设置为下拉列表中的第一个值,但不设置为 enum 字段的值。

如何配置 EnumDropDownListFor 以使用 enum 字段的值预先选择下拉列表?

最佳答案

您应该做的唯一一件事是在传递模型时设置枚举值。

一个小例子(默认情况下会选择 Test2):

型号

    public class ModelTest
    {
        public EnumTest EnumTest { get; set; }
    }

    public enum EnumTest
    {
        Test1,
        Test2,
        Test3
    }

查看:

@model WebApplication3.Models.ModelTest

<div>
    @Html.EnumDropDownListFor(model => model.EnumTest, new { @class = "form-control" })
</div>

Controller :

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        ModelTest model = new ModelTest {EnumTest = EnumTest.Test2};
        return View("View",model);
    }
}

关于c# - ASP.NET MVC Html.EnumDropDownListFor 选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37861707/

相关文章:

c# - 使用 LINQ 在两个 Dictionary<int, string> 上进行 LEFT OUTER JOIN

c# - XmlSerializer - 反序列化 SoapException 详细元素

c# - 在引导模式中显示特定列的详细信息

c# - IEnumerable<string> 到 FileStreamResult 的 Stream

c# - 在 View 中呈现之前在 Controller 中过滤数据

c# - 更新面板问题

java - 使用单个循环从数组中获取所有子数组

asp.net-mvc - 无法安装 Asp.net MVC 3

css - 使用 Razor 的动态样式表

javascript - MVC3 Razor - 带有嵌套服务器 ifs 的 Javascript 语句