【问题标题】:better way to find controller name from masterpage view in asp.net mvc在 asp.net mvc 中从母版页视图中查找控制器名称的更好方法
【发布时间】:2014-03-07 20:51:12
【问题描述】:

有没有更好的方法从 asp.net mvc 的母版页视图中查找控制器名称?

谢谢 阿楚。

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    StackOverflow - Getting the name of the controller and action method in the view in ASP.NET MVC:

    <%: ViewContext.RouteData.Values["Controller"] %>
    <%: ViewContext.RouteData.Values["Action"] %>
    

    【讨论】:

    • 请注意 ViewContext.RouteData.ValuesRouteValueDictionary 并且需要将值转换为字符串以进行比较,例如 &lt;%=(string)ViewContext.RouteData.Values["Action"] == "Index" ? ... (并为自己节省 10 分钟的痛苦,并希望您可以使用 RoR甚至 gasp PHP)。
    • 当您可以使用更安全的 .ToString() 时,为什么还要转换为字符串?
    【解决方案2】:

    比什么更好?母版页应该有一个 ViewContext,它允许您获取 RouteData。您应该能够使用“controller”和“action”键从 RouteData 中获取控制器和操作的名称。

    【讨论】:

      【解决方案3】:

      在 MVC 4.0 中处理如下。

      控制器:@ViewContext.RouteData.Values["Controller"]
      动作:@ViewContext.RouteData.Values["Action"]

      【讨论】:

        猜你喜欢
        • 2010-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-24
        • 2011-03-01
        相关资源
        最近更新 更多