加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 从View中访问RouteData.Values的最简单的方法

发布时间:2020-12-16 00:37:12 所属栏目:asp.Net 来源:网络整理
导读:我正在使用以下代码来获取我的视图中的当前“动作”,因为我想根据自定义构建一个actionlink。 ViewContext.RequestContext.RouteData.Values("action") 我的最终目标是使用Javascript构建一些动作链接,而.js需要知道当前的控制器和操作是什么,因为我希望
我正在使用以下代码来获取我的视图中的当前“动作”,因为我想根据自定义构建一个actionlink。
ViewContext.RequestContext.RouteData.Values("action")

我的最终目标是使用Javascript构建一些动作链接,而.js需要知道当前的控制器和操作是什么,因为我希望它是灵活的。我通过浏览框架发现了以上内容,但我不知道我是否找到正确的东西。

var routeData = ViewContext.RequestContext.RouteData;
var linkStub = '/@routeData.Values("controller")/@routeData.Values("action")';

有人知道这是否是最简单/最简单的方法呢?

解决方法

最干净的方式将是一种扩展方法
public static class MyUrlHelper
{
    public static string CurrentAction(this UrlHelper urlHelper)
    {
        var routeValueDictionary = urlHelper.RequestContext.RouteData.Values;
        // in case using virtual dirctory 
        var rootUrl = urlHelper.Content("~/");
        return string.Format("{0}{1}/{2}/",rootUrl,routeValueDictionary["controller"],routeValueDictionary["action"]);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读