如何在下拉列表框中显示选定的值
问题描述:
我在此视图中拥有此代码。我需要在下拉列表中显示来自数据库的选定值。如何在下拉列表框中显示选定的值
<select id="PeopleClass" name="PeopleClass">
<option value="1">Name1</option>
<option value="2">Name2</option>
<option value="3">Name3</option>
</select>
现在我得到的是默认的Name1,但是我到底需要在视图中显示哪些数据库值?
有人可以帮我吗?
答
DropDownListFor
是可以使用的方法:选中此了解更多详情:http://msdn.microsoft.com/en-us/library/system.web.mvc.html.selectextensions.dropdownlistfor.aspx
我会建议你创建
<select id="PeopleClass" name="PeopleClass">
<option value="1">Name1</option>
<option value="2">Name2</option>
<option value="3">Name3</option>
</select>
成IEnumerable<SelectListItem>
,并将其绑定当您使用数据库中选定的值呈现视图时。
// create People class
public class People{
public value {get; set}
public name {get; set}
}
//Create option list for your dropdown
List<People> peopleList=
new List<People>{ new People{ value="1", name ="Name 1"}, new People{ value="2", name ="Name 2"}, new People{ value="3", name ="Name 3"}};
//bind it with ViewData
ViewData["ddl"] = new SelectList(peopleList, "value", "name", valueFromDatabase);
在你看来
最后,下拉列表与ViewData["ddl"]
<%=Html.DropDownListFor(model => model.People,(IEnumerable<SelectListItem>)ViewData["ddl"])%>
答
将选定的属性设置为您希望选择为默认选项的选项应该可以实现。
如:
<select id="PeopleClass" name="PeopleClass">
<option value="1">Name1</option>
<option value="2">Name2</option>
<option value="3" selected="true">Name3</option>
</select>
答
绑定在你的后台代码,你需要设置SelectedValue
在下拉列表控制。
替换你上面下面粘贴代码:
<asp:dropdownlist id=ddlPeopleClass runat=server>
<asp:listitem value=1>Name1</asp:listitem>
<asp:listitem value=2>Name2</asp:listitem>
<asp:listitem value=3>Name3</asp:listitem>
</asp:dropdownlist>
正如在前面的回答中提到设置选定为true列表项,将其选中。
<asp:listitem value=3 selected=true>Name3</asp:listitem>
但正如你所说你的价值来自数据库,所以你会在后面的代码中设置它。
我认为这是一个MVC问题,而不是纯html问题 – 2010-09-22 05:09:24
,但它的allways showitn name3如果我从databse获得name2或Name1? – kumar 2010-09-22 05:26:32