我有一个html扩展方法来检索与 View 位于同一文件夹中的文件的URL。

示例

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

这是最好的方法吗?我不喜欢它,因为我必须进行以下转换。我确定如果您使用其他 View 引擎,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;
}

最佳答案

如果使用Razor view engine,则可以使用以下命令:

((System.Web.Mvc.RazorView)htmlHelper.ViewContext.View).ViewPath

祝你好运

关于asp.net - MVC3 : What is the best way to get the view path from an HtmlHelper object?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7058349/

10-12 17:28