试图创建一个没有代码隐藏页面的asp.net mvc视图

时间:2009-06-28 03:53:09

标签: c# asp.net-mvc

我正在尝试在我的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

6 个答案:

答案 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,泛型类MyViewPageMyViewPage<T>不同。