如何设置在下拉列表中选择的现有值,而不使用asp.net mvc在下拉列表中硬编码项目?

时间:2011-05-03 12:30:37

标签: asp.net-mvc-3

我在asp.net mvc中有一个表单,它从数据库中检索记录。这个表单有下拉列表。在控制器的编辑操作中,必须选择已插入的项目。假设我正在获取用户信息进行编辑,那么它的城市,州和国家必须在之前插入时选择。任何人都可以告诉我如何在页面加载时从下拉列表中选择数据库中设置的值??? / p>

1 个答案:

答案 0 :(得分:0)

假设您的用户模型具有State作为属性,则需要对视图执行以下操作

 <div class="editor-field">
      @Html.DropDownListFor(model => model.State, (SelectList)ViewBag.StateDDL)
      @Html.ValidationMessageFor(model => model.State)
 </div>

这是控制器的代码

public ActionResult Edit(string id)
{   
    UserModel myuser = new UserModel();

    Get the user data from database here
    myuser.State = "AZ";


    List<SelectListItem> mystate= new List<SelectListItem>();
    SelectListItem item = new SelectListItem();
    item.Text = " - SELECT - ";
    item.Value = "";
    mystate.Add(item);

    item = new SelectListItem();
    item.Text = "CA";
    item.Value = "CA";
    mystate.Add(item);

    item = new SelectListItem();
    item.Text = "AZ";
    item.Value = "Az";
    mystate.Add(item);

    ViewBag.StateDDL = new SelectList(mystate.AsEnumerable(), "Value", "Text", myuser .State);
    return View(myuser);
}