C# 加上一句「;“全部”;选项,其值可在视图中选择列表

C# 加上一句「;“全部”;选项,其值可在视图中选择列表,c#,asp.net-mvc,C#,Asp.net Mvc,我认为: @Html.DropDownList("id", ((SelectList)ViewBag.SelectList), "All") 这在标记中创建了以下内容: <select id="id" name="id"> <option value="">All</option> <option value="1">One</option> <option value="2">Two</op

我认为:

@Html.DropDownList("id", ((SelectList)ViewBag.SelectList), "All")
这在标记中创建了以下内容:

<select id="id" name="id">
    <option value="">All</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select> 

全部的
一个
两个
三
但我真正想要的是(设置值):


全部的
一个
两个
三

是否有一种方法可以在视图中通过附加第一行代码来实现这一点?我知道我可以将它添加到字典中(当它是一个普通字典时,在我将其转换为SelectList之前)。我也知道我可以将空白值转换成接收控制器中的这个值。除此之外,我还有其他选择。

“我可以将此添加到字典中(如果它是常规字典,在我将其转换为SelectList之前)。”这是我将采取的方法。在视图中添加/配置项比执行任何操作都要干净得多。最好视图应该包含尽可能少的逻辑。谢谢。实际上,我自己也想出了一个替代方案,但我仍然想知道这种方法是否可行。您可以使用
@for(int idx=0;idx<((SelectList)ViewBag.SelectList)。Length;idx++)
(这是粗略的代码,可能不是第一次使用)循环,手动迭代每个项目并自己输出
元素。您可以检查
idx
的值,如果是o,则添加
All
项。编写自定义HTML帮助程序扩展方法如何
<select id="id" name="id">
    <option value="All">All</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>