2011-01-05 234 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"))%>