Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC4剃刀下拉列表_Asp.net Mvc_Razor_Drop Down Menu - Fatal编程技术网

Asp.net mvc MVC4剃刀下拉列表

Asp.net mvc MVC4剃刀下拉列表,asp.net-mvc,razor,drop-down-menu,Asp.net Mvc,Razor,Drop Down Menu,我有这个型号 public int id { get; set; } public string Status { get; set; } 我需要状态只有3个可能的值{Waiting,Approved,Rejected} 我想使用强类型视图。那么最好的方法是什么呢?我要用吗 <select name="Status" id="Status"> <option value="Waiting">Waiting</option>

我有这个型号

public int id { get; set; }
public string Status { get; set; }
我需要
状态
只有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
来表示
状态
,但无论如何这样做都可以。

@{var listItems=new List
@{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"))
{ 新列表项{Text=“Waiting”,Value=“Waiting”}, 新列表项{Text=“Approved”,Value=“Approved”}, 新列表项{Text=“已拒绝”,Value=“已拒绝”} }; } @Html.DropDownList(“已批准”,新选择列表(列表项,“值”,“文本”))
型号

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();
}
}
看法


从code behind向DropDownList中添加项目将有助于您使用
枚举
,我认为您必须创建查找表,或者创建一个位于您下方@Max Zhukov suggest的集合。不推荐使用纯代码答案。请添加一些评论
@Html.DropDownListFor(model => model.Status,Model.GetStatus, “Select Status”)