有一个ASP.NET 视网站,是局部性的。本地化的功能增加了两位数语言ID的网址,例如/es/网页。如果没有语言Id被发现在该网址,该网站开关于用户浏览器的文化。都是很好的。然而,该网站的超链接,一个混合物的编码href标签,actionlinks等, 不包括的基本语言的ID,所以当通过点击该网站的设置文化的丧失,并且该网站将会恢复,用户浏览器的文化。

我(懒)认为是替代所有href值,也就没点到的一个外部网站,与本地化的网址(例如包括/es/).否则,所有网站的链接,将需要更新,以包括文化代码。

是这样的只是普通的傻瓜?或者,合理,并应使用一个定义看发动机,或一些其他的方法?

没有正确的解决方案

其他提示

我的答案是,(前):

该程序有一个基本控制器,我已经增加:

if (PathLanguageCode == "" && requestContext.HttpContext.Session["LanguageCode"] != null && requestContext.HttpContext.Request.RequestType == "GET")
{
    requestContext.HttpContext.Response.Redirect("/" + requestContext.HttpContext.Session["LanguageCode"] + requestContext.HttpContext.Request.RawUrl);
}

这个例子没有显示如何PathLanguageCode变量的定义,但它至少应该足以显示如何能够处理中心,而没有更换串的价值观。

一个缺点,这种方法,我可以看到,该网站真的是不友好的搜索引擎,等等, 由于我们最终做了大量的重定向。

如果你想你可以看看我的方法,我们花了。它谈到了把文化的网址。希望它能帮助!

培养视的发动机,用于视

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top