gpt4 book ai didi

asp.net-mvc - PartialView 必须从 WebViewPage 错误派生

转载 作者:行者123 更新时间:2023-12-02 01:48:31 29 4
gpt4 key购买 nike

在其他文件夹而不是 Views 文件夹中调用 PartialView 时,出现“必须从 WebViewPage 派生”错误。

错误

System.InvalidOperationException: The view at '~/Modules/HtmlContent/_HtmlContent.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
PartialView adding

Page.cshtml

<div class="side">
@Html.Action("Side")
</div>

HomeController.cs

public ActionResult Side()
{
return PartialView("~/Modules/HtmlContent/_HtmlContent.cshtml");
}

文件层次结构

Modules
|
+-- HtmlContent
| |
| +-- _HtmlContent.cshtml
|
Views
|
+-- Home
| |
| +-- Index.cshtml
| |
| +-- Page.cshtml
|
+-- Shared
|
+-- Layout.cshtml
|
+-- _Partial.cshtml

最佳答案

您需要将 web.config 放入此自定义文件夹的根目录中。与~/Views/web.config相同。在此 web.config 中,您将找到一个指示 Razor 页面类型的部分:

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>

请注意 pageBaseType 如何设置为 System.Web.Mvc.WebViewPage

或者,您可以将以下内容添加到 Razor View 的顶部:

@inherits System.Web.Mvc.WebViewPage

关于asp.net-mvc - PartialView 必须从 WebViewPage 错误派生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17017888/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com