gpt4 book ai didi

c# - 如何从 ASP.NET MVC 中的不同 Controller 和操作呈现的 Html.Action 中检索 Controller 和操作名称

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:52 24 4
gpt4 key购买 nike

我在 ASP.NET MVC 中检索 Controller 和操作名称时遇到问题。以下是我的场景。

第一步:

我正在我的布局页面中呈现 Html.Action("sidebar","Helper")。所以 Controller 和 Action 应该是这样的。

第 2 步:

我正在尝试将当前 Controller 名称和操作名称传递给侧边栏 View 的 View 。例如,如果我在 HomeController, Controller 名称将是“Home”而不是“Helper”,因为 HelperController 在布局页面中并且包含在每个页面中。我正在尝试按照步骤 3 中的方式检索名称。

步骤 3

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

我的问题:它一直返回 Controller 名称“Helper”和操作名称“sidebar”,即使我导航到 HomeController 的 Index 操作也是如此。我该如何解决这个问题?

最佳答案

你可以像这样在布局页面中将当前 Controller 名称和 Action 名称作为参数传递

@Html.Action("sidebar", "Helper", new { thisController = ViewContext.RouteData.Values["controller"].ToString(), thisAction = ViewContext.RouteData.Values["action"].ToString() })

然后在 Helper Controller 中访问它们

    public class HelperController:Controller{
public PartialViewResult sidebar(string thisController, string thisAction)
{
string con_action = thisController + "-" + thisAction;
...
}
}

关于c# - 如何从 ASP.NET MVC 中的不同 Controller 和操作呈现的 Html.Action 中检索 Controller 和操作名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32602574/

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