2015-11-04 220 views
0

所以我得到这个错误ASP.NET MVC2解决方案,以前工作正常。我必须安装Visual Studio 2012,并且磁盘空间不足,因此必须手动卸载某些目前似乎不完全需要的Visual Studio 2010功能。现在,无论何时我尝试调试一个以4.0 .NET框架为目标的应用程序,我都会遇到此错误。我尝试重新安装Visual Studio和.net框架,但它保持了发生。我不知道该怎么办。视图'〜/ Views/Login/Login.aspx'必须派生自ViewPage,ViewPage <TModel>,ViewUserControl或ViewUserControl <TModel>

此外,我试着在这个问题(Getting the error "The view at '~/Views/Page/home.aspx' must derive from ViewPage, ViewPage<TViewData>, ViewUserControl, or ViewUserControl<TViewData>")陈述什么,但不能把答案标记为正确的工作。请帮忙!

+1

这是MVC?什么版本?或者它是Web窗体?请显示相关代码,并请适当标记您的问题。 – mason

回答

0

嗯,好像这个问题可能发生,如果事情发生与安装的.NET Framework 4.0。如果出现此错误,请尝试卸载最近安装的任何可能改变了.NET框架安装的内容。

0

已经有一段时间了,但是..我偶然发现了这个问题多次,因为我有相同的错误信息。得到我的东西在一起后(不练ASP.NET MVC 5经常),我意识到,代码隐藏,文件WebForm.aspx.cs包含类的Web窗体本身的内在Page_Load指令:

public partial class WebForm : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!IsPostBack) 
     { 
      // Your logic here 
     } 
    } 
} 

你的代码隐藏,文件可在(VS2017)项目资源管理器中找到(我叫雷IndexForm代替WebForm):

enter image description here

建议LIK e“删除CodeBehind-File”正在解决该问题,但可能会无意中引起由此修复程序引起的新问题。或者你可能只是想在你的WebForm背后实现逻辑,但不能因为文件被删除。

发生这种情况的原因仅在于自动生成的文件使用的是System.Web.UI.Page而不是从System.Web.Mvc.ViewPage得出的结果。所以简单地调整你的基类继承你的WebForm。希望你会在这里降落:

public partial class WebForm : System.Web.Mvc.ViewPage 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!IsPostBack) 
     { 
      // Your logic here 
     } 
    } 
} 
相关问题