MVC3: Как лучше всего получить путь просмотра из объекта HtmlHelper ?

У меня есть метод расширения html для получения URL-адреса файла, который находится в той же папке, что и представление.

Пример

/Views/Home/Index.cshtml
/Views/Home/Index.js
/Views/Home/Index.css

Это лучший способ сделать это? Мне это не нравится, потому что мне нужно сделать следующий состав. Я уверен, что RazorView не будет работать, если вы используете другой механизм просмотра, но в IView есть только метод Render.

((RazorView)helper.ViewContext.View).ViewPath

Вот полный метод

public static string GetUrl(this System.Web.Mvc.HtmlHelper helper, string fileName) {
    string virtualPath = ((RazorView) helper.ViewContext.View).ViewPath;
    virtualPath = virtualPath.Substring(0, virtualPath.LastIndexOf("/") + 1);
    return virtualPath + fileName;
}
7
задан Leslie Hanks 14 August 2011 в 17:09
поделиться