2011-01-05 88 views
0

我有问题显示不同类别的名称作为下拉列表+显示一个通用名称是每个类别的选择。我需要这个来创建一个搜索功能。显示自定义的下拉列表

原单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); 
     } 


    } 
} 

回答

0

只需添加一个新的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"))%>