ASP MVC 5 - 视图文件夹外的部分视图文件
ASP MVC 5 - Partial View File Outside of Views Folder
我有一个部分视图文件,它接收保存在视图目录之外的@model - 实际上存储在 app_data 中。
但是我得到错误:
The name 'model' does not exist in the current context
Source File: ...\app_data\_DefaultLayout.cshtml
下面是我的代码:
@Html.Partial("~/app_data/_DefaultLayout.cshtml"), Model)
默认布局如下:
@using System.Web.Mvc
@using System.Web.Mvc.Html
@model MyApp.ViewModels.CreateCaseViewModel
// some html and razor code
此异常是 cshtml 文件的编译错误。该视图无权访问模型类型。如果您检查您的解决方案资源管理器,有两个 web.config 文件,一个在 Views 文件夹中,一个在根级别。
一种排序方法是将 Views/web.config 复制到 App_Data.
App_Data是ASP.NET里面的一个特殊目录,应该是用来存放数据文件,比如XML文件/mdf文件来存放数据。它也有访问限制。
您不应在该文件夹中放置任何 UI 图层问题(视图)。 Asp.NET MVC 对您的 UI 层有一个约定,即 ~/Views
目录。因此,请使用该位置来保留您的观点。
如果绝对需要,您可以将您的视图文件放在应用程序中的几乎任何位置(除了那些系统目录),例如,您可以创建一个名为 MyPartialViews
的目录并将您的部分视图放在那里并参考完整的路径。要记住的重要一点是,您需要在该文件夹中有一个 Web 配置(从 ~/Views
复制一个并将其放在那里)。 Web 配置有许多需要的元素,包括 pageBaseType
for all views
我有一个部分视图文件,它接收保存在视图目录之外的@model - 实际上存储在 app_data 中。
但是我得到错误:
The name 'model' does not exist in the current context
Source File: ...\app_data\_DefaultLayout.cshtml
下面是我的代码:
@Html.Partial("~/app_data/_DefaultLayout.cshtml"), Model)
默认布局如下:
@using System.Web.Mvc
@using System.Web.Mvc.Html
@model MyApp.ViewModels.CreateCaseViewModel
// some html and razor code
此异常是 cshtml 文件的编译错误。该视图无权访问模型类型。如果您检查您的解决方案资源管理器,有两个 web.config 文件,一个在 Views 文件夹中,一个在根级别。
一种排序方法是将 Views/web.config 复制到 App_Data.
App_Data是ASP.NET里面的一个特殊目录,应该是用来存放数据文件,比如XML文件/mdf文件来存放数据。它也有访问限制。
您不应在该文件夹中放置任何 UI 图层问题(视图)。 Asp.NET MVC 对您的 UI 层有一个约定,即 ~/Views
目录。因此,请使用该位置来保留您的观点。
如果绝对需要,您可以将您的视图文件放在应用程序中的几乎任何位置(除了那些系统目录),例如,您可以创建一个名为 MyPartialViews
的目录并将您的部分视图放在那里并参考完整的路径。要记住的重要一点是,您需要在该文件夹中有一个 Web 配置(从 ~/Views
复制一个并将其放在那里)。 Web 配置有许多需要的元素,包括 pageBaseType
for all views