Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 属性路由和本地化控制器/操作名称_C#_Asp.net Mvc_Localization_Routing_Culture - Fatal编程技术网

C# 属性路由和本地化控制器/操作名称

C# 属性路由和本地化控制器/操作名称,c#,asp.net-mvc,localization,routing,culture,C#,Asp.net Mvc,Localization,Routing,Culture,我想根据语言本地化我的URL,例如: 我目前正在使用ASP.NET MVC 5属性路由 [RoutePrefix("{language}/recipes")] public class RecipesController : BaseController { [Route("manage")] public ActionResult Manage() { ... } } 两个问题: 将完整URL本地化是一个好主意吗 有关于如何根据

我想根据语言本地化我的URL,例如:

我目前正在使用ASP.NET MVC 5属性路由

[RoutePrefix("{language}/recipes")]
public class RecipesController : BaseController
{
    [Route("manage")]
    public ActionResult Manage()
    {
        ...
    }    
}
两个问题:

  • 将完整URL本地化是一个好主意吗
  • 有关于如何根据语言更改URL中的控制器和操作部分的指针吗 谢谢

    编辑:使其按如下方式工作:

     [Route("{language:regex(nl)}/recepten/beheren")]
     [Route("{language:regex(en)}/recipes/manage")]  
     public ActionResult Index()
     {
     }
    

    不确定这是否是最好的方法,但它是有效的…

    本地化URL绝对是个好主意。对于搜索引擎优化和可用性。你的第二种方法可能只是有点难,因为有很多翻译的页面。你不能使用CMS?这是一个定制的门户,所以没有。。。。我喜欢属性路由的方法,因为您可以在控制器动作所在的位置定义路由,但也许有一种方法可以集中执行这些转换。我尝试使用自定义约束,但总是出现异常“DefaultInlineConstraintResolver类型的内联约束解析程序无法解析以下内联约束”