1

我在文件夹 Views-Department 中有我的视图“Create.cshtml”。我想使用位于根文件夹中的局部视图,名为“_EnterpriseStructure.cshtml”的“CommonViews”。我正在使用语法 RenderPartial

 @{Html.RenderPartial("~/CommonViews/_EnterpriseStructure.cshtml");}

部分视图代码

<div id="Client">
   This is a Partial View.
</div>

执行时我得到 System.InvalidOperationException。

详细错误是:

'~/CommonViews/_EnterpriseStructure.cshtml' 处的视图必须派生自 WebViewPage 或 WebViewPage。

我正在使用 ASP.Net MVC 5 Razor 视图

4

2 回答 2

0

我发现 Razor 视图引擎正在文件夹 'Views/Shared'、'Views/Departments' 中搜索。当我将部分视图移动到“共享”文件夹时,它起作用了。您不能包含路径,您只需提供视图名称。并添加文件夹以搜索查看引擎。我想不通的是“如何为 View Engine 提供更多搜索位置?”

于 2015-10-03T11:34:58.860 回答
0

我认为您在 MVC 项目中使用 T4MVC nuget 包。一旦包包含在您的项目中,您只需在项目(解决方案资源管理器)中选择“T4MVC.tt”文件并说“运行自定义工具”。而已。这将为 MVC 项目中的几乎所有内容创建常量。这意味着,所有视图、控制器、操作、javascript 文件、资源、css 文件、图像等现在都具有常量。这样您可以避免在方法中使用硬编码字符串等视图,并且可以使用生成的常量通过 T4MVC。您无需担心视图路径等。T4MVC 非常有效,对于 MVC 项目来说是必须的。

于 2016-01-02T07:46:49.107 回答