C# 是什么取代了ASP.net core 3中的Viewcontext.Controller
在ASP.Net中,您可以从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
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的反模式,而是应该通过请求和响应与控制器通信。这就是我的想法。我会想出别的办法的。谢谢!:)