如何在不影响下拉列表名称的情况下使用viewbag

时间:2016-09-03 03:19:12

标签: c# asp.net-mvc asp.net-mvc-5.1 asp.net-mvc-5

我想使用一个viewbag,但我不想影响下拉列表的名称。我想在下拉列表中使用不同的名称。是否有可能或它有另一种解决方案。

我的观点代码:

@{
    ViewBag.concurring1 = TempData["pathologistlist"];
 }                            
@Html.DropDownList("concurring", "Select Pathologist")  

1 个答案:

答案 0 :(得分:1)

还有另一个overload DropDownList帮助器方法,它允许您使用自定义名称和id值生成SELECT元素

public static MvcHtmlString DropDownList(
    this HtmlHelper htmlHelper,
    string name,
    IEnumerable<SelectListItem> selectList,
    IDictionary<string, object> htmlAttributes
)

所以你的代码将是

@Html.DropDownList("MyCustomName",ViewBag.concurring as List<SelectListItem>,"Select one")  

假设concurring存在ViewBag条目,其类型为IEnumerable<SelectListItem>

var list= new List<SelectListItem>{
   new SelectListItem { Value="MI", Text="Michigan" },
   new SelectListItem { Value="NY", Text="New York" }
};
ViewBag.concurring = list;

上面的代码将生成SELECT元素,其名称id值设置为&#34; MycustomName&#34;