我有一个部分视图文件,它接收保存在视图目录之外的@模型--实际上存储在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发布于 2017-10-28 13:18:25
App_Data是ASP.NET中的一个特殊目录,用于存储数据文件(如XML文件/ mdf文件)以存储数据。它也限制了进入。
您不应该在该文件夹中放置任何UI层关注点(视图)。Asp.NET MVC对于您的UI层有一个约定,即~/Views目录。所以使用那个位置来保持你的视图。
如果绝对需要,您可以将视图文件放置在应用程序的任何位置(除了那些系统目录),例如,您可以创建一个名为MyPartialViews的目录,并将部分视图放在那里,并将完整的路径引用到该目录。需要记住的重要一点是,您需要在该文件夹中有一个web配置(从~/Views复制该配置,并将其放在那里)。web配置包含许多必需的元素,包括用于所有视图的pageBaseType。
发布于 2017-10-28 13:15:33
此异常是cshtml文件上的编译错误。视图无法访问模型类型。如果检查解决方案资源管理器,有两个web.config文件,一个位于视图文件夹中,一个位于根级。
排序的一种方法是将视图/web.config复制到App_Data中。
https://stackoverflow.com/questions/46989618
复制相似问题