当前位置:  开发笔记 > 后端 > 正文

如何在区域中使用常见的_ViewStart?

如何解决《如何在区域中使用常见的_ViewStart?》经验,为你挑选了2个好方法。

在我的"root"Views文件夹中,我有一个带有以下代码的_ViewStart:

@Code
    Layout = "~/Views/Shared/_Layout.vbhtml"
End COde

在我的Area/Public/Views文件夹中,我有一个来自根Views文件夹的_ViewStart的副本.

但是当我运行代码时,我收到此错误:

Unable to cast object of type 'ASP._ViewStart_vbhtml' to type 'System.Web.WebPages.StartPage'.

我不知道我做错了什么?

我也可以_ViewStart.vbhtml在我的地区使用一个吗?

我如何_ViewStart.vbhtml在地区使用?



1> marcind..:

您需要将~\Views\Web.config文件(或至少以下配置元素)复制到Area的View Web.Config:


  
    


哇谢谢你!我自己永远都找不到这个解决方案.感谢您抽出宝贵时间帮助我,你让我免于拉掉最后三根头发.:) 再次感谢!!!

2> frank hadder..:

当我遇到这个问题时,我首先遇到了这个问题,但我真正想要的是http://stevescodingblog.co.uk/asp-net-mvc-3rc-areas-viewstart/.

问题的关键是_ViewStart.**html有一个范围.它将应用于同一级别或其下的子文件夹中的任何视图.因此,如果将其移动到基本目录(例如,在Global.asax文件旁边),它将应用于〜/ Views/*下的所有视图以及〜/ Areas/*/Views/*下的所有视图.

与接受的答案类似,您仍然需要复制部分.将它们放在您的基本web.config文件中(在项目的根目录中).

这是一个更完整的教程.

对于奖励积分,您可以通过创建一个更接近相关视图的新文件来覆盖_ViewStart.**html设置(例如〜/ Views/_ViewStart.cshtml文件将覆盖〜/ _ViewStart.cshtml中的所有视图〜/意见/目录).


刚出现,很好的回答,@ havok我发现我们也必须放置这个appSettings:
推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有