gpt4 book ai didi

c# - 根据所选语言更改 Controller 和操作名称

转载 作者:太空狗 更新时间:2023-10-30 00:18:32 26 4
gpt4 key购买 nike

我有一个 Controller ,名称为“Hem”,Action 名称为“Om”。我设置的默认语言是瑞典语。所以路线将在瑞典网站上,它是

/sv/Hem/Om

现在我想通过单击语言部分中的英语将语言更改为“en”。所以路由会像这样自动设置:

/en/Home/About

但功能应该是 /sv/Hem/Om 的工作并且在地址栏中应该显示为 /en/Home/About

请各位专家帮帮我。

最佳答案

你可以这样做。

routes.MapRoute(
"English route",
"en/{controller}/{action}/{id}"
new { controller = "Home", action = "Index", language = "en" },
);

routes.MapRoute(
"FrenchHome",
"/sv/Hem/Om",
new { controller = "Home", action = "Index", language = "fr" }
);

或者你可以这样做:

public class GenericRoutes
{
public string Controller {get;set;}
public string Action {get;set;}
public string Url{get;set;}
public string RouteName{get;set;}
}

public List<GenericRoutes> Routes = new List<GenericRoutes>();

Routes.Add(new GenericRoutes{Cotroller="bl",Action="cl",Url="bl/cl"})

for(int i=0;i<Routes.count();i++)
{
routes.MapRoute(
Routes[i].RouteName,
Routes[i].Url,
new { controller = Routes[i].Controller, action = Routes[i].Action },
);
}

关于c# - 根据所选语言更改 Controller 和操作名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com