2015-11-04 217 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 
     } 
    } 
} 
相關問題