显示自定义的下拉列表
问题描述:
我有问题显示不同类别的名称作为下拉列表+显示一个通用名称是每个类别的选择。我需要这个来创建一个搜索功能。显示自定义的下拉列表
原单categori名单是:
- Datorer & IT
- Filosofi &宗教
- 体育& Fritid
- Djur & NATUR
- Konst & MUSIK
- Psykolo GI & Pedagogik
显示为下拉列表的要求:
- 所有种类
- Datorer & IT
- Filosofi &宗教
- 体育& Fritid
- Djur & NATUR
- Konst & MUSIK
- Psykologi & Pedagogik
<%@导入命名空间= “BokButik1” %>
<%@控制语言= “C#” 继承=“System.Web.Mvc .ViewUserControl”%>
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Edit Album</legend>
<%: Html.DropDownList("KategoriID", new SelectList(ViewData["Kategoris"] as IEnumerable, "KategoriID", "KategoriNamn", Model.Kategoris))%>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
namespace BokButik1.ViewModels
{
public class SokningIndexViewModel
{
public List<Kategori> Kategoris { get; set; }
}
}
namespace BokButik1.Controllers
{
public class SokningController : Controller
{
private IKategoriRepository myIKategoriRepository = new KategoriRepository();
//
// GET: /Sokning/
public ActionResult Index()
{
var SokningIndexViewModel = new SokningIndexViewModel
{
Kategoris = myIKategoriRepository.HamtaAllaKategoriNamn()
};
return View(SokningIndexViewModel);
}
}
}
答
只需添加一个新的Kategori
项目列表的开始,但是我出现t,你也可以混合模型和ViewData的最高
public ActionResult Index()
{
var SokningIndexViewModel = new SokningIndexViewModel()
{
Kategoris = myIKategoriRepository.HamtaAllaKategoriNamn();
};
//add the 'all catagory' item
SokningIndexViewModel.Kategoris.Insert(0, new Kategori() {
KategoriID = 0,
KategoriNamn = "All Category"
});
return View(SokningIndexViewModel);
}
在你看来
<%: Html.DropDownList("KategoriID", new SelectList(Model.Kategoris as IEnumerable, "KategoriID", "KategoriNamn"))%>