gpt4 book ai didi

asp.net-mvc - ASP.NET MVC - 我可以为同一个操作使用多个名称吗?

转载 作者:行者123 更新时间:2023-12-04 06:12:15 28 4
gpt4 key购买 nike

ASP.NET MVC - 我可以为同一个操作使用多个名称吗?

在同一个 Controller 中......我可以为同一个 Action 使用多个名称吗?

我正在寻找一个完整的多语言解决方案。本质上,我希望所有逻辑都相同,但根据语言更改“关键字”(网址中的操作、 Controller )。

最佳答案

同一操作不能有多个名称。这将是不同的 Action 。这就是 mvc 的工作方式。 Mabe 最好通过路由来实现描述的行为。

routes.MapRoute("Lang1RouteToController1Action1",
"Lang1Controller/Lang1Action/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

routes.MapRoute("Lang2RouteToController1Action1",
"Lang2Controller/Lang2Action/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

当然,您必须创建许多路由,但是您可以创建配置文件或将路由数据存储在数据库中,然后在应用程序启动时循环创建它们。无论如何,我认为这比创建大量方法要好,因为如果您想添加另一种语言,则需要在 Controller 中查找操作并重新编译代码。但是在路由和配置文件的情况下 - 它变得不那么难。
第二件事是 Html.ActionLink("Home", "Index", "Home") 扩展 - 您必须实现自己的以返回本地化的操作链接。

关于asp.net-mvc - ASP.NET MVC - 我可以为同一个操作使用多个名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710454/

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