根据第一个下拉列表中的选择,从资源文件中填充第二个下拉列表

时间:2013-10-08 17:30:27

标签: asp.net-mvc-4 html.dropdownlistfor

我有两个来自资源文件的下拉列表。在第一个下拉列表中,我有四个选项,根据选择,我需要填充第二个下拉列表,该下拉列表将根据选择来自唯一资源文件。在资源文件中,我有一个包含4个字段(a,b,c,d)的主资源文件,然后我有4个不同的资源文件与每个选择一起使用。任何人都可以告诉我如何在MVC 4中填充它?

@Html.DropDownListFor(m => m.country, new SelectList(frontend.Resources.Country.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true), "Key", "Value").OrderBy(p => p.Value))

@Html.DropDownListFor(m => m.city, new SelectList(frontend.Resources.City1.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true), "Key", "Value").OrderBy(p => p.Value))
@Html.DropDownListFor(m => m.city, new SelectList(frontend.Resources.City2.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true), "Key", "Value").OrderBy(p => p.Value))
@Html.DropDownListFor(m => m.city, new SelectList(frontend.Resources.City3.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true), "Key", "Value").OrderBy(p => p.Value))
@Html.DropDownListFor(m => m.city, new SelectList(frontend.Resources.City.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true), "Key", "Value").OrderBy(p => p.Value))

1 个答案:

答案 0 :(得分:0)

使用ajax调用

$('#country').change(function() {
    $.ajax({
        url: "@(Url.Action("Action", "Controller"))",
        type: "POST",
        cache: false,
        async: true,
        data: { data: $('#country').val() },
        success: function (result) {
        //use the code from the link
        }
   });
});

您可以调用每个下拉列表,并可以调用任何控制器上的任何方法来获取数据。希望这会有所帮助。