如何获取MVC动作的URL&保持强大的打字/智能感知

时间:2015-06-24 13:51:05

标签: c# asp.net-mvc asp.net-mvc-4 razor

我有一个项目,我正在使用.NET MVC 4和AngularJS。我想为我的Angular模板使用MVC部分视图,但为此,我需要这些模板的URL。

<div ng-include="'@Url.Action("Sidebar")'"></div>似乎无法正常工作,它只返回一个空字符串。如何获取此处返回的URL并在Visual Studio中维护强类型/智能感知。

通过强类型输入,我会在

中传递错误视图时获得UI反馈并构建错误

Valid view Invalid view

我已经在网上看到其他扩展方法的建议,这些方法只是将字符串作为操作名称,但不提供强类型。

在我工作的旧项目中,我们使用的是T4MVC模板,我可以调用自定义扩展方法,例如:@MVC.MyPartialView().ToUrl()

这样的工作方式如下:

namespace System.Web.Mvc
{
    public static class ActionResultHelper
    {

        public static string ToUrl(this ActionResult actionResult)
        {
            var callInfo = actionResult.GetT4MVCResult();
            var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);
            var url = urlHelper.AbsoluteAction(callInfo.Action, callInfo.Controller, callInfo.RouteValueDictionary);
            return url;
        }
    }
}

但是我不知道如何在我目前不想使用T4MVC的项目中完成这项工作。

0 个答案:

没有答案