加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC – 我可以为同一个动作创建多个名称

发布时间:2020-12-16 04:18:28 所属栏目:asp.Net 来源:网络整理
导读:ASP.NET MVC – 我可以为同一个动作创建多个名称吗? 在同一个控制器中……我可以为同一个操作设置多个名称吗? 我正在寻找一个完整的多语言解决方案.基本上我希望所有的逻辑都相同,但根据语言改变“关键字”(动作,URL中的控制器). 解决方法 您不能为同一操
ASP.NET MVC – 我可以为同一个动作创建多个名称吗?

在同一个控制器中……我可以为同一个操作设置多个名称吗?

我正在寻找一个完整的多语言解决方案.基本上我希望所有的逻辑都相同,但根据语言改变“关键字”(动作,URL中的控制器).

解决方法

您不能为同一操作使用多个名称.这将是不同的行动.这就是mvc的工作方式. Mabe最好用路由实现所描述的行为.
routes.MapRoute("Lang1RouteToController1Action1","Lang1Controller/Lang1Action/{id}",new { controller = "Home",action = "Index",id = UrlParameter.Optional }
);

routes.MapRoute("Lang2RouteToController1Action1","Lang2Controller/Lang2Action/{id}",id = UrlParameter.Optional }
);

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读