首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从ASP.NET MVC中从不同控制器和动作呈现的Html.Action中检索控制器和动作名称

如何从ASP.NET MVC中从不同控制器和动作呈现的Html.Action中检索控制器和动作名称
EN

Stack Overflow用户
提问于 2015-09-16 15:43:23
回答 1查看 618关注 0票数 2

我在检索ASP.NET MVC中的控制器和操作名称时遇到了问题。下面是我的场景。

步骤1:

我正在布局页面中呈现一个Html.Action(“侧边栏”,“帮助器”)。因此,它的控制器和操作应该是这样的。

第2步:

我正在尝试将当前的控制器名称和操作名称传递给侧边栏视图。例如,如果我在HomeController,控制器名称应该是'Home‘而不是'Helper’,因为HelperController位于布局页面中,并且包含在每个页面中。我正在尝试检索步骤3中的名称。

第三步

代码语言:javascript
复制
public class HelperController:Controller{
    public PartialViewResult sidebar()
    {
       string con_action = ControllerContext.RouteData.Values["controller"].ToString()+"-"+ControllerContext.RouteData.Vaues["action"].ToString();
    }
}

我的问题是:即使我导航到HomeController的索引操作,它仍然返回控制器名称“帮助器”和操作名称“侧边栏”。我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-16 16:18:05

您可以在布局页面中将当前控制器名称和操作名称作为参数进行传递,如下所示

代码语言:javascript
复制
@Html.Action("sidebar", "Helper", new { thisController = ViewContext.RouteData.Values["controller"].ToString(), thisAction = ViewContext.RouteData.Values["action"].ToString() })

然后在Helper控制器中访问它们

代码语言:javascript
复制
    public class HelperController:Controller{
            public PartialViewResult sidebar(string thisController, string thisAction)
            {
               string con_action = thisController + "-" + thisAction;
               ...
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32602574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档