我有一个下拉列表,我使用表中的数据填充。
然后将其分配给ViewBag并绑定到HTML中的元素。
默认情况下我无法设置值;即使我提供静态价值。 这是我的代码 -
CS
ViewBag.parent_categories = new SelectList(all_categories, "ID", "Category", "1");
CSHTML
@Html.DropDownListFor(model => model.EOn, @ViewBag.parent_categories as SelectList, new { @class = "form-control" })
但结果是所选值始终为空白。
它有什么问题?
答案 0 :(得分:0)
假设您已定义了一个人视图模型 -
namespace DropDownList.ViewModel
{
public class Person
{
public int selectedPersonID { get; set; }
//your other props
}
}
现在在视图中定义dropdownlistfor
@model DropDownList.ViewModel.Person
@Html.DropDownListFor(m => m.selectedPersonID,
{new SelectListItem(){ Value="0", Text= "--Please select a Person--"} )
如果您使用DropDownList
,则语法略有不同。
@Html.DropDownList("slPerson", Model.PersonList, Model.SelectedPersonID)
并且相应的viewmodel结构将是
@model namespace.MyViewModel
public class MyViewmodel {
public List<SelectListItem> PersonList {get; set}
public string SelectedPersonID {get; set}
public MyViewModel(){
PersonList = new List<SelectListItem>();
SelectedPersonID = "100"; //default values go here
}
希望这可以解除疑问。