最近在areas/wechat下添加一_viewstart.cshtml,目的是为了继承布局文件。里面就三行代码:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
类型ASP._Page_Areas_Wechat__ViewStart_cshtml不从System.Web.WebPages.StartPage继承
网上搜了下有人遇到过这种类型错误,错误的原因是shared 文件夹下没有 web.config 文件造成。我的区域wechat 下有web.config 文件,但却不是在 shared 文件夹下,而是在 /areas/wechat/views 文件夹下,错误的原因肯定不是这里。因为这是创建区域的时候 vs 自动生成的,不可能出错。 又仔细看了下 web.config 与 _ViewStart.cshtml 的位置,这次看出来问题了。我创建的_viewstart.cshtml 是在 /areas/wechat 目录下。 而 web.config 却在 /areas/wechat/views 目录下。 把 _viewstart.cshtml 转移大 /areas/wechat/views 目录下。刷新页面,这次没了错误,布局页的 css 样式也被顺利继承。看来虽然是在 areas 下,仍然可以继承 根目录下 views文件夹下的 _layout.cshtml 布局文件