我们在.net core中,经常碰到需要获取当前的Areas、Controller、Action,于是小编就扩展了Html,这样即可使用

Html.***来获取这些信息。

具体扩展类如下:

  1. public static class HtmlHelperExtensions

  2. {

  3. #region 路由操作

  4. public static HtmlString A(this IHtmlHelper helper)

  5. {

  6. return new HtmlString(helper.ViewContext.RouteData.Values["area"].ToString());

  7. }

  8. public static HtmlString C(this IHtmlHelper helper)

  9. {

  10. return new HtmlString(helper.ViewContext.RouteData.Values["Controller"].ToString());

  11. }

  12. public static HtmlString T(this IHtmlHelper helper)

  13. {

  14. return new HtmlString(helper.ViewContext.RouteData.Values["Action"].ToString());

  15. }

  16. public static HtmlString AC(this IHtmlHelper helper)

  17. {

  18. var areaName = helper.ViewContext.RouteData.Values["area"].ToString();

  19. var controllerName = helper.ViewContext.RouteData.Values["Controller"].ToString();

  20. return new HtmlString("/" + areaName + "/" + controllerName);

  21. }

  22. #endregion

  23. }

下面我们讲讲怎么使用,我觉得大家应该都懂了,但还是说说吧。

在视图中使用

@Html.A() 获取当前Areas

@Html.C() 获取当前的Controller

@Html.T() 获取当前的Action

@Html.AC() 获取 Areas+Controller

是不是很简单呢

更多精彩文章请关注我们的微信公众号FocusDotCore

.net core 在视图中快速获取路由(Areas、Controller、Action)的更多相关文章

  1. MVC及MVC Core在filter中如何获取控制器名称和Action名称

    很多时候我们需要使用过滤器来实现一些拦截.验证等行为,此时我们能获取到的Context是ActionExecutingContext ,我们如何通过这个Context来获得Action.Control ...

  2. ASP.NET MVC和ASP.NET Core MVC中获取当前URL/Controller/Action (转载)

    ASP.NET MVC 一.获取URL(ASP.NET通用): [1]获取完整url(协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [ ...

  3. asp.net MVC中获取当前URL/Controller/Action

    一.获取URL(ASP.NET通用): [1]获取完整url(协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取虚拟目录名+页面 ...

  4. ASP.NET Core 2.2中的Endpoint路由

    Endpoint路由 在ASP.NET Core 2.2中,新增了一种路由,叫做Endpoint(终结点)路由.本文将以往的路由系统称为传统路由. 本文通过源码的方式介绍传统路由和Endpoint路由 ...

  5. 解决.NET Core MVC 视图中的中文被html编码的问题

    在  .net core mvc 视图输出 变量的时候 默认使用的是 UnicodeRanges.BasicLatin  进行的编码 所以 输出中文后在查看源码的时候是进过编码了的 . 解决方案 在 ...

  6. MVC在filter中如何获取控制器名称和Action名称

    使用ActionExecutingContext对象可以获取控制器名称.Action名称.参数名称以及参数值.路由和Action返回值不影响结果. 在代码中 [AttributeUsage(Attri ...

  7. listview的gridview视图中,获取列中模板内的button按钮(找控件内的控件)

    点击“间隙”,获取“间隙”旁边隐藏的减号按钮(本图片未显示出来) private void TextBlock_MouseDown_2(object sender, MouseButtonEventA ...

  8. js中快速获取数组中的最大值最小值

    var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Math.min.apply(null, a)); //最小值 多维数组如下 v ...

  9. Java_中快速获取系统时间

    直接调用System的currentTimeMillis()即可! long start = System.currentTimeMillis(); System.out.println(" ...

随机推荐

  1. ASP.NET Core 2.0 支付宝当面付之扫码支付

    前言 自从微软更换了CEO以后,微软的战略方向有了相当大的变化,不再是那么封闭,开源了许多东西,拥抱开源社区,.NET实现跨平台,收购xamarin并免费提供给开发者等等.我本人是很喜欢.net的,并 ...

  2. Myeclipse 配置Tomcat 出现 “Value must be an existing directory”错误

    今天上午配了一下本机上的Myeclipse的tomcat,因为我本机上有两个版本的myeclipse,一个是用来公司开发的,一个是自己玩的,本机上装了两个版本jdk和两个版本的tomcat.配置自己玩 ...

  3. js根据时间戳倒计时

    今天有个需求,要在页面上做当前时间距离下个月1号的倒计时.在网上找了很多案例也试了很多,大部分都是获取本地当前时间,然后设置结束时间进行计算,然后倒计时.但是有几个问题: 1.如果本地时间和服务器时间 ...

  4. Window2008 R2(64位)使用codesmith连接Sqlite

    ①打开C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config目录,找到machine.config文件新增 <add name=" ...

  5. EasyUI DataGrid 基于 Ajax 自定义取值(loadData)

    为 datagrid 加载数据分两种情况: 一种是基于 Ajax 请求获取数据然后通过"loadData"方法来赋值: 另一种是直接使用 datagrid 自带的"loa ...

  6. canvas图表详解系列(4):动态散点图

    本章建议学习时间4小时 学习方式:详细阅读,并手动实现相关代码(如果没有canvas基础,需要先学习前面的canvas基础笔记) 学习目标:此教程将教会大家如何使用canvas绘制各种图表,详细分解步 ...

  7. WPF 只允许打开一个实例

    我们有时候只希望我们的程序只打开一个实例,也就是我们的软件只有一次被打开. 那么我们可以通过一个办法知道,在这个软件打开前是不是打开过一个,还没关闭.也就是是否存在另一个程序在运行. 下面是一个简单方 ...

  8. Android性能优化之启动速度优化

    Android性能优化之启动速度优化   Android app 启动速度优化,首先谈谈为什么会走到优化这一步,如果一开始创建 app 项目的时候就把这个启动速度考虑进去,那么肯定就不需要重新再来优化 ...

  9. 【Vue】利用父子组件间通信实现一个场景

    组件间通信是组件开发的,我们既希望组件的独立性,数据能互不干扰,又不可避免组件间会有联系和交互. 在vue中,父子组件的关系可以总结为props down,events up: 在vue2.0中废弃了 ...

  10. uploadify 配置后,页面显示无效果

    uploadify使用的是Flash版本 谷歌浏览器:默认没有开启Flash,进行如下图设置即可