我正在使用 C# 和 SQL Server 2005 开发一个 ASP .Net MVC 3 应用程序。
我也在使用实体框架和代码优先方法。
我有一个视图“应用程序”,其中包含一个 DropDownList 和一个表。
DropDownList 的项目正在以列表的形式从基础 (Table=Genre) 加载。
根据 DropDownList 中的选定项,我想在表中以 CheckBox 的形式在 base 中播放一些值(列表)。
我试过 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>();
}
}
我试图将此脚本添加到我的视图中,但没有得到任何结果:
<script type="text/javascript">
$.post("/ProfileGa/Application", { term: "" + $("#Txt").val() + "SelectedGenre" },
function (html)
{
//construct check boxes with this data elements.
$('#resultDiv').append("<input type='checkbox' id='checkbox" + html[i].Id + "'" + "/>" + html[i].title);
}
</script>