Setting a default selected value in DropDownList in MVC3

拟墨画扇 提交于 2019-11-30 23:39:17

问题


In MVC3 I have this code at my controller. It retrieves a List of IDs\Names from Installation table and creates a ViewBag

var vs = dba.Installation.OrderBy(q => q.InstName).ToList();
ViewBag.Vessels = new SelectList(vs, "InstId", "InstName");

Now, at my view. I want to render the list in a dropdown list. I used the Html helper that works fine...

@Html.DropDownList("InstId",(SelectList)ViewBag.Vessels, "- Select one -")

I need to set first item in the ViewBag List as a default selected value, instead of "- Select one -" text.

How can I do it?

Thanks in advance!


回答1:


There's an overload for the SelectList constructor that takes 4 arguments. The last of which is the default selected object. E.g:

ViewBag.Vessels = new SelectList(vs, "InstId", "InstName", selectedValue);

Where selectedValue is an object of whatever type is in your list.




回答2:


I need to set first item in the ViewBag List as a default selected value, instead of "- Select one -" text.

Then you need to select the first item in your list (vs) and get it's id and use it as the selecedValue in the SelectList:

ViewBag.Vessels = new SelectList(vs, "InstId", "InstName", 
    vs.FirstOrDefault().InstId);



回答3:


You can also create an Helper class for Dropdownlist It will have a method to set the text as by default text for every dropdownlist in you solution



来源:https://stackoverflow.com/questions/16298346/setting-a-default-selected-value-in-dropdownlist-in-mvc3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!