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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – 从View中访问RouteData.Values的最简单的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用以下代码获取我的视图中的当前“动作”,因为我想根据自定义构建一个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"]);
    }
}
原文链接:https://www.f2er.com/aspnet/252751.html

猜你在找的asp.Net相关文章