我正在ASP.NET Core v2.0中使用RazorPages,我不知道如何在应用程序中管理路由
这就是我现在的应用程序路由
public void ConfigureServices
services
.AddMvc()
.AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/AboutUs", "o-nas");
options.Conventions.AddPageRoute("/Contact", "kontakt");
}
基本上,对于单个语言的应用程序就足够了,但是我必须有更多的语言。 我的应用程序文化基于域(即不使用任何前缀,例如“ en”,“ pl”)来实现,因此我不得不使用RewriteOptions
公共无效配置
var options = new RewriteOptions()
.Add(RedirectRequests);
公共静态void RedirectRequests(RewriteContext上下文)
var request = context.HttpContext.Request;
if (request.Host.Value.Contains("websiteurl"))
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("pl-PL");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("pl-PL");
}
else if(request.Host.Value.Contains("anotherlanguagedomain"))
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB");
}
所以我的问题是我该如何获取我的应用程序中的链接及其URL将具有完全不同的URL并加载具有不同文化的同一剃刀页面(我也在使用语言资源)的情况。