我有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模式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句