小编Sql*_*boy的帖子

使用MVC的Attribute Routing和RouteLocalization.mvc的特定于语言的默认URL

我希望能够为我的网站创建一个简洁的特定于语言的默认URL,以便当有人浏览时:

somesite.com

他们被重定向到语言文化页面,例如:

  • somesite.com/en-US/
  • somesite.com/sp-MX/
  • somesite.com/fr-FR/

具体来说,我希望/ Home/Index附加到URL:

  • somesite.com/en-US/Home/Index
  • somesite.com/sp-MX/Home/Index
  • somesite.com/fr-FR/Home/Index

我致力于使用RouteLocalization.mvc创建此站点

我想在可行的范围内使用MVC属性路由.

我无法弄清楚如何使Start()方法重定向到特定于语言文化的URL而不添加像"index"这样的东西.

我试图遵循的样本:

using RouteLocalization.Mvc;
using RouteLocalization.Mvc.Extensions;
using RouteLocalization.Mvc.Setup;

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.Clear();

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapMvcAttributeRoutes(Localization.LocalizationDirectRouteProvider);

        const string en = "en-us";
        ISet<string> acceptedCultures = new HashSet<string>() { en, "de", "fr", "es", "it" };

        routes.Localization(configuration =>
        {
            configuration.DefaultCulture = en;
            configuration.AcceptedCultures = acceptedCultures;
            configuration.AttributeRouteProcessing = AttributeRouteProcessing.AddAsNeutralAndDefaultCultureRoute;
            configuration.AddCultureAsRoutePrefix = true;
            configuration.AddTranslationToSimiliarUrls = true;
        }).TranslateInitialAttributeRoutes().Translate(localization …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc localization asp.net-mvc-routing asp.net-mvc-4

4
推荐指数
1
解决办法
940
查看次数