如何在MVC3中动态填充下拉列表?

时间:2012-03-06 05:51:57

标签: asp.net-mvc asp.net-mvc-3 drop-down-menu

我在mvc3中创建了一个搜索应用程序,其中我有2个表: 1.State:Id(pk)和state_name 2.District:Id(pk),s_id(f.k。),District_name

我首先使用代码和EF并为其创建了名为Search

的数据库

我希望我的索引显示下拉列表中的所有状态

以下是我的State.cs代码

public partial class State
{
    public State()
    {
        this.Districts = new HashSet<District>();
        this.Search_master = new HashSet<Search_master>();
    }

    public int Id { get; set; }
    public string State_name { get; set; }

    public virtual ICollection<District> Districts { get; set; }}

这是我的学区课程:

 public partial class District
{
    public District()
    {
        this.Search_master = new HashSet<Search_master>();
    }

    public int Id { get; set; }
    public string District_name { get; set; }
    public int StateId { get; set; }

    public virtual State State { get; set; } }

如何在索引页面中调用存储在表格中的数据 提前谢谢!!

2 个答案:

答案 0 :(得分:0)

您可以使用JQuery绑定到State下拉列表的onChange事件。并执行ajax调用将stateId传递给服务器,该服务器将返回具有正确区域的json列表。

Look here示例

<强>更新 关于如何填充下拉列表look here

答案 1 :(得分:0)

传递模型中第一个下拉列表的内容并使用

@ Html.DropDownListFor(m =&gt; m.MyList)

绑定到change事件并将jQuery ajax调用发送到您在控制器中创建的服务器方法。使用JSON传回动态列表并解析结果。手动将它们添加到您的下拉列表中。

或者只是做一个完整的回发并在模型中发回第二个列表,在其结果集为空时隐藏另一个下拉列表。