【问题标题】:Determine physical location of Razor view in MVC3在 MVC3 中确定 Razor 视图的物理位置
【发布时间】:2010-11-09 15:35:50
【问题描述】:

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

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_Areas_MyArea_Views_MyViews_MyView

但对于 Razor,它只是:

ASP_MyView

【问题讨论】:

  • 你想达到什么目的?
  • 我已经添加了我想要实现的问题。谢谢。

标签: asp.net-mvc-3 razor


【解决方案1】:

您应该能够查看VirtualPath 属性。当构造函数被调用时它将不可用,但您可以覆盖ConfigurePage 并在那里进行任何处理。

【讨论】:

  • 谢谢。我确实通过覆盖 ConfigurePage 并使用 parentPage.VirtualPath 找到了我想要的东西(使用 'this' 给了我 _Layout.cshtml,因为我正在使用 Layouts)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多