Rah*_*odi 4 c# model-view-controller asp.net-mvc asp.net-routing razor
我有一个名为"Hem"的控制器,Action名称为"Om".我设置瑞典语的默认语言.所以路线将在瑞典网站上,就是这样
/sv/Hem/Om
Run Code Online (Sandbox Code Playgroud)
现在,我想通过单击语言部分中的英语将语言更改为"en".所以路线会像这样自动设定:
/en/Home/About
Run Code Online (Sandbox Code Playgroud)
但功能应该是工作/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" }
);
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做:
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 },
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |