【问题标题】:MVC 4 Razor DropDownListMVC 4 剃刀下拉列表
【发布时间】:2013-05-27 04:38:41
【问题描述】:

我有这个模型

public int id { get; set; }
public string Status { get; set; }

我需要 status 仅具有 3 个可能的值 {Waiting, Approved, Rejected}

我想使用强类型视图。那么最好的方法是什么?我应该使用

<select name="Status" id="Status">
            <option value="Waiting">Waiting</option>
            <option value="Approved">Approved</option>
            <option value="Rejected">Rejected</option>
</select>

我想最好将Enum 用于status,但无论如何都可以。

【问题讨论】:

  • this 等代码隐藏将项目添加到您的 DropDownList
  • this 将帮助您使用enum
  • 我认为要么你必须创建查找表,要么创建一个 @Max Zhukov 在你下面建议的集合。

标签: asp.net-mvc razor drop-down-menu


【解决方案1】:
@{var listItems = new List<ListItem>
{
      new ListItem { Text = "Waiting", Value="Waiting" },
      new ListItem { Text = "Approved", Value="Approved" },
      new ListItem { Text = "Rejected", Value="Rejected" }
};
}
    @Html.DropDownList("Approved",new SelectList(listItems,"Value","Text"))

【讨论】:

    【解决方案2】:

    型号

    public enum Status
    {
    Waiting = 1,
    Approved = 2,
    Approved = 3
    }
    
    public Status Status { get; set; }
    
    public IEnumerable GetStatus
    {
    get
    {
    return
    Enum.GetValues(typeof(Status)).Cast().Select(p => new SelectListItem
    {
    Text = p.ToString(),
    Value = p.ToString()
    }).ToList();
    }
    }
    

    查看

    @Html.DropDownListFor(model => model.Status,Model.GetStatus, “Select Status”)
    

    【讨论】:

    • 不推荐使用纯代码答案。请添加一些评论
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多