我们在.net core中,经常碰到需要获取当前的Areas、Controller、Action,于是小编就扩展了Html,这样即可使用
Html.***来获取这些信息。
具体扩展类如下:
-
public static class HtmlHelperExtensions
-
{
-
#region 路由操作
-
public static HtmlString A(this IHtmlHelper helper)
-
{
-
return new HtmlString(helper.ViewContext.RouteData.Values["area"].ToString());
-
}
-
public static HtmlString C(this IHtmlHelper helper)
-
{
-
return new HtmlString(helper.ViewContext.RouteData.Values["Controller"].ToString());
-
}
-
public static HtmlString T(this IHtmlHelper helper)
-
{
-
return new HtmlString(helper.ViewContext.RouteData.Values["Action"].ToString());
-
}
-
public static HtmlString AC(this IHtmlHelper helper)
-
{
-
var areaName = helper.ViewContext.RouteData.Values["area"].ToString();
-
var controllerName = helper.ViewContext.RouteData.Values["Controller"].ToString();
-
return new HtmlString("/" + areaName + "/" + controllerName);
-
}
-
#endregion
-
}
下面我们讲讲怎么使用,我觉得大家应该都懂了,但还是说说吧。
在视图中使用
@Html.A() 获取当前Areas
@Html.C() 获取当前的Controller
@Html.T() 获取当前的Action
@Html.AC() 获取 Areas+Controller
是不是很简单呢
更多精彩文章请关注我们的微信公众号FocusDotCore: