我不明白如何在控制器中传递这个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
的原因。
答案 0 :(得分:1)
您将要定义模型,并将该模型类传递到视图中。 Ditch 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)
答案 1 :(得分:0)
在这里观看 @ {
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();
}