代码之家  ›  专栏  ›  技术社区  ›  Oundless

确定MVC3中Razor视图的物理位置

  •  1
  • Oundless  · 技术社区  · 14 年前

    我创建了自己的Razor View类,因此:

    public abstract class MyWebViewPage : System.Web.Mvc.WebViewPage
    {
        public MyWebViewPage() 
        {
        }
    }
    

    我在cshtml文件中使用这个类,因此:

    @inherits MyWebViewPage
    <html>
        ...
    </html>
    

    我想确定CSHTML文件在类的构造函数中的物理位置,但似乎无法获取基类中可能告诉我的任何内容的句柄。有什么想法吗?

    我正在尝试计算视图的区域名和文件夹名(例如areas/myarea/views/myviews/myview.cshtml)。相关位是“myarea”和“myviews”。

    我目前正在移植一个应用程序以使用Razor视图,我曾经能够做我需要的事情,因为视图的类名是沿着以下几行的:

    ASP区域\我的区域\视图\我的视图\我的视图

    但用剃须刀只是:

    我的视图

    1 回复  |  直到 14 年前
        1
  •  3
  •   marcind    14 年前

    你应该能够看到 VirtualPath 属性。当构造函数被调用时,它将不可用,但您可以重写 ConfigurePage 在那里做任何处理。