2017-05-05 60 views
0

我嘗試採取從數據庫性別實體(男或女),我想表明它在下拉框中:在asp.net mvc的選擇數據庫多個實體

控制器:

List<Gender> list2 = db.Gender.ToList(); 
ViewBag.GenderList = new SelectList(list2, "GenderID", "GenderType"); 

查看:

@Html.DropDownListFor(model => model.GenderID, ViewBag.GenderList as SelectList,"--select--",new { @class="form-control"}) 

我的錯在哪裏?我需要幫助

性別類

public class GenderViewModel 
{ 
    public int GenderID { get; set; } 
    public string GenderN { get; set; } 
} 

個人類

public class PersonalViewModel 
{ 
    public int PersonalID { get; set; } 
    public string PName { get; set; } 
    public string PLastname { get; set; } 
    public System.DateTime DOB { get; set; } 
    public string Email { get; set; } 
    public string Phone { get; set; } 
    public string PPassword { get; set; } 
    public int GenderID { get; set; } 
    public int PAuthorisation { get; set; } 
    public bool PStatus { get; set; } 
    public int ShopId { get; set; } 
    public System.DateTime JobStartDate { get; set; } 

    public string GenderType { get; set; } 
    public string ShopName { get; set; } 
} 
+0

您是否看到異常?什麼HTML呈現? –

+0

你可以顯示性別? – Xique

+0

我把它放在上面... – muco

回答

1

您的Gender類具有GenderN我認爲GenderName?),但是與GenderType綁定,因此單獨的不匹配會導致異常。 ViewBag是動態的,所以你不應該需要在視圖中投(因爲它在運行時計算)...

更改GenderClass:

public class GenderViewModel 
    { 
     public int GenderID { get; set; } 
     public string GenderName { get; set; } 
    } 

而變化控制器:

ist<Gender> list2 = db.Gender.ToList(); 
ViewBag.GenderList = new SelectList(list2, "GenderID", "GenderName"); 

發佈特定的錯誤將有所幫助。

+0

性別表與個人表有關係。我也顯示個人表。在這個實體中,我該如何解決它? – muco

+0

那麼這個表怎麼使用它甚至沒有在代碼示例中使用......請包括該代碼.......... –

+0

謝謝兄弟..它的工作:) – muco

0

不知道你所看到的確切的錯誤,但我敢肯定,你可以就地使用ViewBag像因爲它是一個匿名對象。分配ViewBag到一個單獨的變量:

@{ 
    var genderlist = (SelectList)ViewBag.GenderList; 
} 

@Html.DropDownList("genderID", genderlist, "Gender", new { @class = "classnameifneeded" }) 

就個人而言,我會做這樣的:

類/ C#/控制器側:

List<Gender> list2 = db.Gender.ToList(); 
ViewBag.GenderList = list2; 

查看側:

@{ 
    var genderlist = ViewBag.GenderList; 
} 

Html.DropDownList("genderID", new SelectList(genderlist, "GenderID", "GenderType", 0), "Gender", new { @class="classnameifneeded" }) 
0

在HTML部分嘗試: @ Html.DropDownList(「GenderList」,null,「--select--」,htmlAttributes:new {@class =「form-control」})

相關問題