Ajax请求是';t在asp.net mvc中进行本地化
本文关键字:mvc net 本地化 asp 请求 Ajax | 更新日期: 2023-09-27 18:00:33
我有一个asp.net mvc 4项目,在本文之后尝试实现本地化http://www.chambaud.com/2013/02/27/localization-in-asp-net-mvc-4/当我尝试使用普通链接时,一切都很好,但当我尝试用ajax链接时,在下一个例子中,我总是出错:
$.ajax({
url: '/Home/GetJobList',
contentType: 'application/html; charset=utf-8',
type: 'GET',
dataType: 'html'
})
.success(function (result) {
$('#jobsTable').html(result);
})
.error(function (xhr, status) {
alert(status);
});
在这个例子中,我的ajax请求没有发送到服务器:
$.ajax({
url: "/" + $.cookie("lang") + '/Home/GetJobList',
contentType: 'application/html; charset=utf-8',
type: 'GET',
dataType: 'html'
})
.success(function (result) {
$('#jobsTable').html(result);
})
.error(function (xhr, status) {
alert(status);
});
错误我在Global.asax.cs:中的代码内部
var handler = Context.Handler as MvcHandler;
var routeData = handler != null ? handler.RequestContext.RouteData : null;
var routeCulture = routeData != null ? routeData.Values["culture"].ToString() : null; //here is an error
我试着调试,发现它只有Controller、Action、index,并且没有接收区域性:
routes.MapRoute(
name: "Default",
url: "{culture}/{controller}/{action}/{id}",
defaults: new { culture = "ru", controller = "Home", action = "Index", id = UrlParameter.Optional }
);
有人能帮我吗?
如果你使用剃须刀,你可以写
url : '@Url.Action("GetJobList", "Home")',
剃刀助手然后自动将"@Url.Action("ControllerMethod"、"Controller")"转换为asp.net mvc项目的设置Url模式。