gpt4 book ai didi

asp.net-mvc - 获取当前的 Action 和 Controller ,并将其用作Html.ActionLink中的变量?

转载 作者:行者123 更新时间:2023-12-04 03:11:52 24 4
gpt4 key购买 nike

我需要能够动态检索您所在页面上的当前 Action 和 Controller 名称,并实际使用它们来创建一个新的HTML.ActionLink,该HTML.ActionLink链接到相同的 Action 和 Controller 名称,但位于不同的区域。因此,我想我需要检索当前的 Action 和 Controller 名称作为变量,以用于构建新的HTML.ActionLink。

因此,如果我在www.site.com/about页面上,则需要有一个动态生成到www.site.com/es/about页面的链接。

我基本上在一个单独的区域文件夹中构建了网站的西类牙语翻译版本(具有相同的命名 Controller , Action 和 View ,只是内容全部是西类牙语)。我需要用户能够在页面的英文版本(默认设置,并且位于根站点 View 中)和西类牙语版本(其 View 位于区域文件夹“es”)之间来回切换他们当前在哪个页面上。我无法对这些链接进行“硬编码”,因为我需要在一个共享的局部 View 中使用该 View ,该局部 View 是在每个页面上使用的_Layout中的_topNavigation。

如果需要澄清,请告诉我。我敢肯定,在对应用程序进行本地化时,使用“区域”并不是真正的方法,但是我仍在努力地自学asp.net MVC。我阅读了许多关于本地化的教程和示例,但我无法使它们正常工作或变得没有意义。

我还应该补充一点,我已经知道如何使用HTML.ActionLink在区域之间来回移动。我设法创建了正确的HTML.ActionLinks到西类牙文(es)区域中的任何 View ,以及默认站点中的任何 View 。所以这不是我的问题。

任何帮助是极大的赞赏!谢谢!

最佳答案

使用ViewContext.RouteData确定当前的Controller和Action:

@Html.ActionLink("Spanish Version", 
ViewContext.RouteData.Values["action"] as String,
ViewContext.RouteData.Values["controller"] as String,
new { Area = "es" })

关于asp.net-mvc - 获取当前的 Action 和 Controller ,并将其用作Html.ActionLink中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19779139/

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