DropDownList C# Mvc4 Razor

本文关键字:Razor Mvc4 DropDownList | 更新日期: 2023-09-27 18:21:44

我不明白如何在控制器中传递这个selectListitem,如何将其发送到视图?使用return view("MyView", listItems )?但它说listItems在当前环境中不存在!你有主意吗?感谢

@{
   List<SelectListItem> listItems= new List<SelectListItem>();
   listItems.Add(new SelectListItem
        {
          Text = "Exemplo1",
          Value = "Exemplo1"
        });
   listItems.Add(new SelectListItem
        {
            Text = "Exemplo2",
            Value = "Exemplo2",
            Selected = true
        });
   listItems.Add(new SelectListItem
        {
            Text = "Exemplo3",
            Value = "Exemplo3"
        });
}
@Html.DropDownListFor(model => model.tipo, listItems, "-- Select Status --")

我精确地说,在我的视图中已经有一个表单的模型。我想用下拉列表填充表单的一个字段。这就是为什么我想使用HtmlHelper DropDownListFor

DropDownList C# Mvc4 Razor

您将想要定义一个模型,并将该模型类传递到视图中。放弃ViewBag,使用强类型模型。

public class ViewModel
{
  public int ddlSelectedValue {get; set;}
  List<System.Web.Mvc.SelectListItem> DDLItems { get; set; } //Instantiate this through Constructor    
}

ViewModel model = new ViewModel();
int val = 5;
model.DDLItems.Add( new SelectListItem() { Text = "Text", Value = Val.ToString() });
return view (model)
View
@model NameSpace.ViewModel

@Html.DropDownListFor(x => x.ddlSelectedValue, Model.DDLItems)

点击此处查看@{

List<User> listaUsers = (List<User>)ViewBag.ListUser;

}

                foreach (User us in listaUsers)
                {
                        <option value="@us.UserID">@us.Name</option>
                }
        </select>

    /// Name function its like name of view for binding this part go to the controller
    public ActionResult anytingName()
    {
        User us= new User();
        us.Name="paul";
        us.UserID=1;
        List<User> users= new List<User>();
        users.Add(us);
        ViewBag.ListUser = users;
        return View();
    }