我有问题将不同类别的名称显示为下拉列表+显示一个通用名称,该名称是每个类别的选择。我需要这个才能创建搜索功能。
原始分类列表是:
显示为下拉列表的请求:
<%@ Import Namespace =“BokButik1”%>
<%@ Control Language =“C#”Inherits =“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);
}
}
}
答案 0 :(得分:0)
只需在列表的开头添加一个新的Kategori
项,但看起来您可能还在混合模型和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"))%>