我需要語言參數的值,我想這碼ASP.NET MVC:如何獲取路由值
if(HttpContext.Current.Request.RequestContext.RouteData.Values["language"] == null)
{
HttpContext.Current.Request.RequestContext.RouteData.Values["language"] = "en-US";
}
上面的代碼使得像這是非常好的以下網址
http://localhost:25576/en-US/Home
的問題是,當用戶輸入http://localhost:25576/Home(無EN-US) 的HttpContext.Current.Request.RequestContext.RouteData.Values["language"]
值變爲 「家」
我的問題是如何讓語言參數的實際值,如果用戶刪除的en-US或者如果用戶輸入http://localhost:25576/Home
RouteConfig
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "DefaultLocalized",
url: "{language}/{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional,
language = ""
}
);
}
謝謝您的幫助和努力:) 我想你的代碼,仍然可以得到的資源不能被發現的消息,當我輸入http ://本地主機:/首頁/聯繫的 HTTP 25576 代替:// localhost:25576/zh-CN /主頁/聯繫人 – Alex
@Alex您是否嘗試過創建'LocalizationAttribute'?另外,您的本地化路由應該在默認路由之後註冊。 – msmolcic
是的,我已經嘗試過,仍然面臨同樣的問題 – Alex