如何使用Html.ListBoxFor与MVC4
本文关键字:MVC4 ListBoxFor Html 何使用 | 更新日期: 2023-09-27 18:03:10
我正在尝试填充一个列表框。我的模型只是一个List。我找不到一个简单的参数解释,我需要使用@Html.ListBoxFor()。
这是我的一部分代码:
public ActionResult Index()
{
List<string> names = GetAllNames();
return View(names);
}
...
在视图中:
@model List<string>
...
@Html.ListBoxFor(?)
谢谢。
你可以在你的控制器动作中填充你的模型列表
someAction
{
CountryModel objcountrymodel = new CountryModel();
objcountrymodel.CountryList = GetAllCountryList();
return View(objcountrymodel);
}
public SelectList GetAllCountryList()
{
List<Country> objcountry = new List<Country>();
objcountry.Add(new Country { Id = 1, CountryName = "India" });
objcountry.Add(new Country { Id = 2, CountryName = "USA" });
objcountry.Add(new Country { Id = 3, CountryName = "Pakistan" });
objcountry.Add(new Country { Id = 4, CountryName = "Nepal" });
SelectList objselectlist = new SelectList(objcountry, "Id", "CountryName");
return objselectlist;
}
,在你的。cshtml中,你可以这样使用:
@Html.ListBoxFor(m => m.SelectedCountry, new SelectList(Model.CountryList, "Value", "Text", Model.CountryList.SelectedValue), new { @Id = "lstcountry", @style = "width:200px;height:60px;" })
用于处理视图中的列表,您需要将其强制转换为SelectList类型。在我们的示例中,假定Country是用于该目的的模型。
首先你需要创建一个viewModel;这里我们假设它被命名为ListBoxViewModel。
public class ListBoxtViewModel
{
public string SelectedItem{get;set;}
public List<SelectListItem> selectItemList{get;set;)
}
第二步,在视图中添加using代码。
@Html.ListBoxFor(m=>m.SelectedItem, List<SelectListItem> selectItemList)