Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 是否可以在视图中的两个DropDownList之间异步绑定数据?_Asp.net_Jquery_Asp.net Mvc_Data Binding_Drop Down Menu - Fatal编程技术网

Asp.net 是否可以在视图中的两个DropDownList之间异步绑定数据?

Asp.net 是否可以在视图中的两个DropDownList之间异步绑定数据?,asp.net,jquery,asp.net-mvc,data-binding,drop-down-menu,Asp.net,Jquery,Asp.net Mvc,Data Binding,Drop Down Menu,我想使用ASP.NETMVC和JQuery实现以下效果 我有一个下拉列表,显示一个国家的列表。我希望这样,当我更改国家/地区的值时,它下面会出现一个新的下拉列表,显示原产国为特定选定公司的公司列表。问题是,我不想太依赖于控制器操作,因为我在一个“无头”视图的模板助手中使用它。我可以绑定它吗?我建议您创建一个操作,该操作将返回选定国家/地区所有公司的JSON表示: public class CompaniesController: Controller { public ActionRes

我想使用ASP.NETMVC和JQuery实现以下效果


我有一个下拉列表,显示一个国家的列表。我希望这样,当我更改国家/地区的值时,它下面会出现一个新的下拉列表,显示原产国为特定选定公司的公司列表。问题是,我不想太依赖于控制器操作,因为我在一个“无头”视图的模板助手中使用它。我可以绑定它吗?

我建议您创建一个操作,该操作将返回选定国家/地区所有公司的JSON表示:

public class CompaniesController: Controller
{
    public ActionResult List(string countryId) 
    {
        IEnumerable<Company> companies = Repository.GetCompanies(countryId);
        // Let's assume that Company has two properties: Id and Name
        return Json(companies);
    }
}

@用户:请看这个关于写好标题的元讨论-谢谢,它很有效。不过,这给我的印象是一个临时解决方案。我仍然有点困惑如何构建通用的MVC扩展,就像Telerik称之为MVC扩展一样,就像以前的用户控件一样。我担心,如果我开始编写一个本应适用于许多情况的扩展,代码可能会变得混乱
<%= Html.DropDownListFor(x => x.Country, Model.Countries) %>
<%= Html.DropDownListFor(x => x.Company, Enumerable.Empty<SelectListItem>()) %>
$(function() {
    $('select#Country').change(function() {
        var countryId = $(this).val();
        $.post('/companies/list', { countryId: countryId }, function(companies) {
            var companiesSelect = $('select#Company');
            // loop through the companies and fill the dropdown
            $(companies).each(function(index, company) {
                companiesSelect.append(
                    '<option value="' + company.Id + '">'
                    + company.Name + 
                    '</option>');
            });
        });
    });
});