我有这个脚本的地区:
function LoadRegions() {
var region = $('#RegionID');
alert("test");
var url = "../Account/GetRegions";
$.getJSON(url, { countryId: $('#CountryID').val() }, function (response) {
// clear and add default (null) option
region.empty().append($('<option></option>').val('').text("Please select"));
for (var i = 0; i < response.length; i++) {
region.append($('<option></option>').val(response[i].Id).text(response[i].Name));
}
});
}
在视图我有:
@Html.DropDownListFor(m => m.SelectCountryId, Model.Countries, @Translator.Translate("PLEASE_SELECT"), new { id = "CountryID", @class = "form-control", @onchange = "LoadRegions();"})
在控制器中,我有:
[AllowAnonymous]
public JsonResult GetRegions(int countryId) // return a JsonResult
{
IUserManager manager = UserFactory.GetUserManager(WebConfiguration.DefaultTerminalId);
var model = manager.GetRegions(countryId);
return Json(model, JsonRequestBehavior.AllowGet);
}
我的想法是,当用户选择一个我可以获取地区的国家/地区时,由于某种原因,它无法正常工作。有什么帮助吗?我收到警报,但功能正常
编辑:我的路线
routes.MapRoute(
name: "DefaultAppWithLanguages",
url: "app/{languageId}/{controller}/{action}/{id}",
defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional },
constraints: new { languageId = @"^[a-zA-Z]{2}$" }
);
routes.MapRoute(
name: "DefaultApp",
url: "app/{controller}/{action}/{id}",
defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{*url}",
defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional }
);
根据您的路线,var url = "../Account/GetRegions";
不会打该方法。您需要将其更改为
var url = '/app/en/Account/GetRegions';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句