如何首先使用 MVC3 使用实体框架模型创建级联 DDL?



我是mvc -实体框架的新手,我的模型是一个实体框架模型,我有一个与省表有关系的商务表,省表与国家表有关系。

所以,当我要创建一个Commerce时,我应该能够首先选择国家,然后选择属于这个国家的省份。

到目前为止,我已经成功地显示了国家和所有省份,但我不知道如何改变省份一旦一个国家被选中…

我看到的帖子中有一个解释,如何做这样的事情使用剃刀(我使用。net)创建一个模型(代码优先或类似的东西)

如果你能帮我的话,我将非常感激。

简短的回答是,您将返回并过滤省份,或者使用jQuery并动态地执行此操作。

我自己,我会回复…

使用Jquery将是这种情况的最佳解决方案。即使你还没有使用它。保存回发是值得的。这里有一个州(父)和县(子)关系的例子。

    <asp:DropDownList ID="ddlState" runat="server">
</asp:DropDownList>
<br />
<asp:DropDownList ID="ddlCounty" runat="server">
</asp:DropDownList>

下面是实现级联下拉列表的jquery代码。

        $(document).ready(function () {
        $("#<%= ddlState.ClientID %>").change(function () {
            var sourceddl = "<%= ddlState.ClientID %>";
            var stateid = $("#<%= ddlState.ClientID %> option:selected").val();
            var Stateid = { Stateid: stateid };
            $.ajax({
                type: 'POST',
                url: 'CacheSample.aspx/GetCounties',
                data: JSON.stringify(Stateid),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (result) {
                    if (data.d) {                     
                    var options = [];                     
                                        if (result.d) {
                                            for (var i = 0; i < result.d.length; i++) {
                                                options.push('<option value="',
                                              result.d[i].countyID, '">',
                                              result.d[i].countyName, '</option>');
                                            }
                                            $("#<%= ddlCounty.ClientID %>").html(options.join(''));
                                        }                        
                     }
                },
                error: function () {
                    alert("Error! Try again...");
                }
            });
        });
    });

我正在使用webmethod来为选定的州检索县。

[WebMethod]
public static County[] GetCounties(int Stateid)
{
    County[] countiesArr = StatesCountyModel.GetCountyForState(Stateid).ToArray();
    return countiesArr;     
}
我想它应该对你有帮助。如果你是Jquery新手,请告诉我。你只需要在你的项目中包含几个javascript文件,你就可以使用这些代码。

Praveen

最新更新