无法在DropDownList

时间:2016-05-03 15:50:46

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

我有一个下拉列表,我使用表中的数据填充。

然后将其分配给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" })

但结果是所选值始终为空白。

它有什么问题?

1 个答案:

答案 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
  }

希望这可以解除疑问。