如何显示一个复选框的列表根据下拉列表在asp.net MVC和实体框架
本文关键字:asp 下拉列表 net MVC 实体 框架 显示 何显示 复选框 一个 列表 | 更新日期: 2023-09-27 18:15:03
我正在使用c#和SQL Server 2005开发一个asp.net MVC 3应用程序。
我也使用实体框架和代码第一方法。
我有一个视图'Application',它包含一个下拉列表和一个表。
DropDownList的项目正在以列表的形式从基础(Table=Genre)加载。
根据下拉列表中选择的项目,我想在表中以CheckBox的形式在基中播放一些值(列表)。
我尝试了CheckBoxFor,但它不起作用。
这是视图:
<div>
<%:Html.Label("Type :")%><%: Html.DropDownListFor(model => model.SelectedGenre, Model.GenreItems)%>
</div>
<table border = "transparent">
<tr>
<th>
</th>
</tr>
<% foreach (var item in Model.FaItems) { %>
<tr>
<td>
<%: Html:CheckBoxFor (modelItem => item.Nom_Famille) %>
</td>
</tr>
<% } %>
</table>
,这是控制器:
[HttpGet]
public ActionResult Application(Genre genre)
{
var vv = new FlowViewModel();
vv.GenreItems = new SelectList(db.Genres.ToList(), "ID_G", "ID_G");
if (vv.SelectedGenre == "Famille")
{
vv.FaItems = db.Familles.ToList();
}
else if (vv.SelectedGenre == "Sous Famille")
{
vv.SFItems = db.Sous_Familles.ToList();
}
return View(vv);
}
,这是模型:
public class FlowViewModel
{
[Key]
public string IDv { get; set; }
public List<Famille> FaItems { get; set; }
public List<Sous_Famille> SFItems { get; set; }
[NotMapped]
public SelectList GenreItems { get; set; }
public string SelectedGenre { get; set; }
public FlowViewModel()
{
FaItems = new List<Famille>();
SFItems = new List<Sous_Famille>();
}
}
注意:
我想选择列表的一些值(检查它们)并记录在基础中,如果你有任何其他建议,除了复选框,这将是非常有用的。谢谢。
对于在复选框中显示用户角色,我做了以下操作,您可以找到自己的方法。不同的是,我在Razor
中做了 @{
var roles = (SimpleRoleProvider)Roles.Provider;
string[] strroles = roles.GetAllRoles();
string[] userorles = roles.GetRolesForUser(Model.UserName);
foreach (string strrole in strroles)
{
bool isinrol = false;
foreach (string struserroles in userorles)
{
if (strrole == struserroles)
{
isinrol = true;
}
}
if(isinrol)
{
<input type="checkbox" id="roles[]" name="roles" value="@strrole" checked="checked" /> @strrole <br />
}
else
{
<input type="checkbox" id="roles[]" name="roles" value="@strrole"/> @strrole <br />
}
}
}