如何使用ASP MVC中的脚本显示基于DropDownList的复选框列表

时间:2013-05-26 22:06:39

标签: c# javascript sql-server asp.net-mvc-3

我正在使用C#和SQL Server 2005开发ASP .Net MVC 3应用程序。

我也在使用Entity Framework和Code First Method。

我有一个'Application'视图,其中包含DropDownList和Table。

DropDownList的项目以列表的形式从基础(Table = Genre)加载。

根据DropDownList中的选定项目,我希望在表格中以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>();
    }
}

我尝试将此脚本添加到我的视图中,但我没有得到任何结果:

<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>

0 个答案:

没有答案