我可以通过执行以下操作获取_Layout.cshtml
中的当前控制器名称和操作名称
var controller = ViewContext.RouteData.Values["controller"].ToString();
var action = ViewContext.RouteData.Values["action"].ToString();
然而,当我尝试获得该区域时
var area = ViewContext.RouteData.Values["area"].ToString();
它不起作用,因为该对象中只存在2个键("控制器"和"动作")
我检查了ViewContext.RouteData
对象,但无法获取当前Area名称的值。
以前版本ASP.net
的{{3}}对我不起作用。
答案 0 :(得分:11)
感谢Pranav的评论! [-1.00000, 1.00000, 123.000,-23.0000]
方法is now public。因此,当您将密钥作为“区域”传递时,可以在视图中将GetNormalizedRouteValue
方法调用为区域名称。
RazorViewEngine.GetNormalizedRouteValue
<h2> @RazorViewEngine.GetNormalizedRouteValue(ViewContext, "area") </h2>
类属于RazorViewEngine
命名空间。因此,请确保在视图中输入using语句。
Microsoft.AspNetCore.Mvc.Razor
@using Microsoft.AspNetCore.Mvc.Razor
方法的做法与之前版本的答案中所述相同。你可以see the source code在这里
这对我来说非常适合剃刀(MVC6)。
GetNormalizedRouteValue