Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Javascript 使用asp.net core 3.1 mvc的级联Dropdownlist_Javascript_Asp.net Core - Fatal编程技术网

Javascript 使用asp.net core 3.1 mvc的级联Dropdownlist

Javascript 使用asp.net core 3.1 mvc的级联Dropdownlist,javascript,asp.net-core,Javascript,Asp.net Core,当我从CountryId选择中选择国家时,我无法通过Ajax填充CityId选择 我尝试过更改jquery版本,但仍然不起作用 有人能告诉我我的错误在哪里吗 视图: 控制器: 公共异步任务GetCitiesAsyncint countryId { var country=await\u countryRepository.GetCountryWithCitiesAsynccountryId; 返回Jsoncountry.Cities.OrderByc=>c.Name; } 通过Ajax调用Get

当我从CountryId选择中选择国家时,我无法通过Ajax填充CityId选择

我尝试过更改jquery版本,但仍然不起作用

有人能告诉我我的错误在哪里吗

视图:

控制器:

公共异步任务GetCitiesAsyncint countryId { var country=await\u countryRepository.GetCountryWithCitiesAsynccountryId; 返回Jsoncountry.Cities.OrderByc=>c.Name; } 通过Ajax调用GetCitiesAsync的Javascript代码:

@节脚本{ @{wait Html.renderPartialAsyncu validationScript;} $document.readyfunction{ $CountryId.changefunction{ $CityId.empty; $.ajax{ 键入:“POST”, url:“@url.ActionGetCitiesAsync”, 数据类型:“json”, 数据:{countryId:$countryId.val}, 成功:功能城市{ $CityId。附加“选择一个城市…”; $每个城市,功能i,城市{ $CityId.append +city.name+; }; }, 错误:函数ex{ 警报“检索城市失败”。+ex; } }; 返回false; } }; } 谢谢

对我来说很好

我根据您的代码制作了一个小的工作示例:

请注意,我没有更改您的js代码。 这意味着问题是以下之一:

您返回的json数据的形式与客户端预期的不同。 您的脚本已损坏。 您缺少一个脚本。 检查您的浏览器控制台是否有错误,如果没有错误,请尝试更改您正在运行的脚本,即,如果您正在使用CDN,请更改您的CDN

示例代码:

视图:

Javascript:

$function { $CountryId.changefunction { $CityId.empty; $.ajax{ 键入:“POST”, url:“@url.ActionGetCitiesAsync”, 数据类型:“json”, 数据:{countryId:$countryId.val}, 成功:功能城市{ 如果cities.length==0 回来 $CityId。附加“选择一个城市…”; $每个城市,功能i,城市{ $CityId.append +city.name+; }; }, 错误:函数ex{ 警报“检索城市失败”。+ex; } }; 返回false; } }; 控制器:

[HttpPost] public JsonResult GetCitiesAsyncint countryId { 如果countryId==1 { 返回Jsonnew列表{new{name=NewYork,id=1},new{name=LosAngeles,id=2}}; } 如果countryId==2,则为else { 返回Jsonnew列表{new{name=London,id=1},new{name=Manchester,id=2}}; } 其他的 { 返回Json; } }
嗨,嗯,谢谢你的回答,我改变了cdn,它为我工作。
<div class="container">
    <div class="col-md-6 col-md-offset-3">
        @using (Html.BeginForm())
        {
            <select class="form-control" name="CountryId" id="CountryId">
                <option value="0" selected>Select</option>
                <option value="1">US</option>
                <option value="2">UK</option>
            </select>
            <select class="form-control" name="CityId" id="CityId">
            </select>
        }
    </div>
</div>