c# - 新的 MVC Area _layout 不继承....System.Web.WebPages.StartPage

标签 c# asp.net-mvc

我有一个基本的 MVC 项目,我为它添加了一个区域,用于管理类型的功能,称为......Admin。

然后因为我希望我的管理区域在某种程度上独立于站点的其余部分,因为用户不需要的管理程序集、功能等。

然后我将 _ViewStart.cshtml 添加到管理区域的根目录。

@{
   Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}

当然,然后我在 Admin/Views/Shared 文件夹中添加了 _Layout.cshtml。

加载公共(public)站点可以很好地加载管理区域:

'ASP._Page_Areas_Admin__ViewStart_cshtml' does not inherit from 'System.Web.WebPages.StartPage'

谷歌搜索我发现很多人选择让主站点 _Layout 也为他们的区域服务。

这与我想要的相反......但我的想法可能是错误的?

我也看了这篇文章:

ASP.Net MVC4 Root cshtml and "does not inherit from 'System.Web.WebPages.WebPage"

并添加了一个 web.config,它是主分支 View 文件夹的精确副本到 Admin/Views 文件夹,但无济于事。

那么我为管理区域设置 _Layout 是否违反了某些惯例?

如果不是那么我错过了什么..我的意思是我理解错误但认为将 web.config 添加到程序集会添加所需的命名空间?

最佳答案

我也遇到了这个问题。错误是因为我将 _ViewStart.cshtml 文件放在区域的区域根文件夹中,而不是 Areas > [Area Name] > Views 文件夹中。将其移动到 Areas> [Area Name] > Views 文件夹后,一切都应该按预期工作,只要其他所有配置都正确。

关于c# - 新的 MVC Area _layout 不继承....System.Web.WebPages.StartPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747199/

相关文章:

c# - 将base64编码转换为pdf

asp.net-mvc - 在ASP.NET MVC中动态更改主模板

asp.net-mvc - 从一个 View 重定向到另一个 View

c# - PayPal Error while Make Payment Using card 10752 错误消息

asp.net - 为什么 MVC 会自动扩展虚拟 URL?

javascript - 如何使 URL 操作在 vue 组件中工作

C# 异常过滤器性能

C# - 如何确定类型是否为数字

c# - 如何使用 Android Xamarin 和 MvvmCross MvxTabsFragmentActivity 创建选项卡

c# - 在不使用 String.Split() 的 c# 中拆分字符串的替代方法是什么