我正在尝试在我的asp.net-mvc应用中创建一个视图页面。为此,我有一个强类型视图,我也有一个MVCPage类。
由于某些原因,当我加载页面时,它表示无法加载类型:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Line 2: Inherits="Blah.MyViewPage<Blah.ViewDataForBLahPage>" %>
public class MyViewPage<TViewData> : ViewPage<TViewData> where TViewData : class
public class ViewDataForBlahPage : MyViewData
答案 0 :(得分:0)
你发布的代码对我来说很困惑,所以我不确定是什么问题。但这就是我让我的工作方式(即没有代码隐藏的页面):
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MyCustomViewModel>" %>
将MyCustomViewModel
替换为您自己的视图模型类,因为您提到您的视图是强类型视图。
如果仍然无效,可能会发布更详细的代码&amp;报告的错误可能会让人们更容易帮助...
答案 1 :(得分:0)
您需要继承
System.Web.Mvc.ViewPage<Blah.ViewDataForBLahPage>
答案 2 :(得分:0)
我之前遇到过这种情况,如果我记得在从MVC测试版升级网站时发生的那样。对我来说,修复是创建一个新的MVC项目并添加重新添加所有内容。
答案 3 :(得分:0)
类的名称空间声明在哪里?
ETA:你见过this线程吗?可能是同样的错误吗?
答案 4 :(得分:0)
检查您的web.config文件,尤其是<pages/>
部分。您可能需要将MYBlah.Core命名空间添加到命名空间列表。
答案 5 :(得分:0)
也许是因为你的类是非泛型的,但你在这里引用它作为泛型类:
Inherits="MYBlah.Core.MyViewPage<MyBlah.Core.ViewDataForUser>"
对于.NET,泛型类MyViewPage
与MyViewPage<T>
不同。