[英]select multiple entities from database in asp.net mvc
I try to take gender entities(male or female) from database and I want to show it in dropdown box: 我尝试从数据库中获取性别实体(男性或女性),并希望在下拉框中显示它:
Controller: 控制器:
List<Gender> list2 = db.Gender.ToList();
ViewBag.GenderList = new SelectList(list2, "GenderID", "GenderType");
View: 视图:
@Html.DropDownListFor(model => model.GenderID, ViewBag.GenderList as SelectList,"--select--",new { @class="form-control"})
Where is my fault ? 我的错在哪里? I need help 我需要帮助
Gender Class 性别阶层
public class GenderViewModel
{
public int GenderID { get; set; }
public string GenderN { get; set; }
}
Personal Class 个人班
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; }
}
Your Gender class has GenderN (I presume GenderName?) but is binding to GenderType, so that mismatch alone will cause an exception. 您的Gender类具有GenderN(我假设是GenderName?),但是绑定到GenderType,因此仅不匹配将导致异常。 ViewBag is dynamic, so you shouldn't need the cast in the view (since it's evaluated at runtime)... ViewBag是动态的,因此您无需在视图中进行强制转换(因为它是在运行时评估的)...
Change GenderClass: 更改GenderClass:
public class GenderViewModel
{
public int GenderID { get; set; }
public string GenderName { get; set; }
}
And change controller: 并更改控制器:
ist<Gender> list2 = db.Gender.ToList();
ViewBag.GenderList = new SelectList(list2, "GenderID", "GenderName");
Posting the specific error will help. 发布特定错误会有所帮助。
Not sure of the exact error you're seeing but I'm sure you can use a ViewBag in-place like that as it is an anonymous object. 不知道您看到的确切错误,但是我确定您可以像这样使用ViewBag,因为它是一个匿名对象。 Assign the ViewBag to a separate variable: 将ViewBag分配给一个单独的变量:
@{
var genderlist = (SelectList)ViewBag.GenderList;
}
@Html.DropDownList("genderID", genderlist, "Gender", new { @class = "classnameifneeded" })
Personally, I would do it like this: 就个人而言,我会这样做:
Class/C#/Controller Side: 类/ C#/控制器端:
List<Gender> list2 = db.Gender.ToList();
ViewBag.GenderList = list2;
View Side: 侧面:
@{
var genderlist = ViewBag.GenderList;
}
Html.DropDownList("genderID", new SelectList(genderlist, "GenderID", "GenderType", 0), "Gender", new { @class="classnameifneeded" })
在html上尝试:@ Html.DropDownList(“ GenderList”,null,“ --select--”,htmlAttributes:new {@class =“ form-control”})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.