在我的视图中,我有一个HTML下拉列表,在控制器中使用List<string>
填充。
<%= Html.DropDownList("ReportedIssue", (IEnumerable<SelectListItem>)ViewData["ReportedIssue"]) %>
List<string> reportedIssue = new List<string>();
reportedIssue.Add("All");
reportedIssue.Add(...);
ViewData["ReportedIssue"] = new SelectList(reportedIssue);
在我看来,结果是:
<select name="ReportedIssue" id="ReportedIssue">
<option>All</option>
<option>...</option>
</select>
有没有办法做到这一点,并且像这样在每个
<option>
标记中都包含一个值?<select name="ReportedIssue" id="ReportedIssue">
<option value="0">All</option>
<option value="1">...</option>
</select>
谢谢您,
亚伦
最佳答案
你只需稍微修改一下代码就可以做到。您需要决定如何定义值项。现在我只想发表一个评论,你可以这么做:
ViewData["ReportedIssue"] = new SelectList(reportedIssue
.Select(r => new SelectListItem
{
Text = r,
Value = someIdValue // define this however you want
}));
因此,只需用这个代码替换代码并实现
someIdValue
占位符。