Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是什么取代了ASP.net core 3中的Viewcontext.Controller_C#_Asp.net_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# 是什么取代了ASP.net core 3中的Viewcontext.Controller

C# 是什么取代了ASP.net core 3中的Viewcontext.Controller,c#,asp.net,asp.net-core,asp.net-core-mvc,C#,Asp.net,Asp.net Core,Asp.net Core Mvc,在ASP.Net中,您可以从ViewContext控制器中获取,并使用ViewContext.controller访问其属性。现在在ASP.Net核心中,ViewContext不是从ControllerContext继承的。我在控制器中有一些属性,这些属性在共享布局中被调用(当然,这些属性在我所有的应用程序中都是共享的,并且由于明显的原因不能有模型),我想知道是什么替换了它,或者如何获得当前的上下文控制器对象 我知道您可以通过使用ViewContext.ActionDescriptor中的Dis

在ASP.Net中,您可以从
ViewContext
控制器中获取,并使用
ViewContext.controller
访问其属性。现在在ASP.Net核心中,
ViewContext
不是从
ControllerContext
继承的。我在控制器中有一些属性,这些属性在共享布局中被调用(当然,这些属性在我所有的应用程序中都是共享的,并且由于明显的原因不能有模型),我想知道是什么替换了它,或者如何获得当前的上下文控制器对象

我知道您可以通过使用
ViewContext.ActionDescriptor
中的
DisplayName
属性获取控制器的名称和操作,但这不是我想要的

我现在是否需要使用静态类来获取属性,或者是否有其他类似于旧版ASP.Net中的
ViewContext.Controller
的方法


非常感谢

您可以通过
ViewContext.RouteData
获取控制器名称

 public static string GetControllerString(this IHtmlHelper htmlHelper)
        {
           
            string controllerString = htmlHelper.ViewContext.RouteData.Values["controller"].ToString();
            return ".NET Core Controller: " + controllerString;
        }

您可以通过
ViewContext.RouteData
获取控制器名称

 public static string GetControllerString(this IHtmlHelper htmlHelper)
        {
           
            string controllerString = htmlHelper.ViewContext.RouteData.Values["controller"].ToString();
            return ".NET Core Controller: " + controllerString;
        }

您的视图不应该访问您的控制器,它是MVC的反模式,而是应该通过请求和响应与控制器通信。这就是我的想法。我会想出别的办法的。谢谢!:)您的视图不应该访问您的控制器,它是MVC的反模式,而是应该通过请求和响应与控制器通信。这就是我的想法。我会想出别的办法的。谢谢!:)