Ошибка “Представление в '~/Views/Page/home.aspx' должна произойти из ViewPage, ViewPage <TViewData>, ViewUserControl или ViewUserControl <TViewData>”

Я только что установил MVC2, и у меня есть представление, которое похоже на это

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Home.Master" Inherits="System.Web.Mvc.ViewPage" %>    
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Home
</asp:Content>    
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">    
    <h2>Home</h2>    
</asp:Content>

И контроллер просто возвращает представление. Но когда я выполняю страницу, я получаю эту ошибку:

Система. InvalidOperationException: представление в '~/Views/Page/home.aspx' должно произойти из ViewPage, ViewPage, ViewUserControl или ViewUserControl.

15
задан Cœur 6 August 2017 в 12:32
поделиться

2 ответа

Вы можете случайно получить два версии платформы MVC, загруженные в одно и то же приложение. Для подтверждения загрузите фьючерсы MVC 2 с http://aspnet.codeplex.com/releases/view/41742 . В этом ZIP-файле есть файл MvcDiagnostics.aspx .

  1. Скопируйте MvcDiagnostics.aspx в корень вашего веб-проекта.
  2. Воспроизвести ошибку.
  3. После воспроизведения ошибки перейдите в /MvcDiagnostics.aspx и посмотрите, не жалуется ли он (будет выделен жирным красным шрифтом) на несколько загружаемых версий платформы. В этом случае инструмент должен предложить решение.

Не забудьте удалить MvcDiagnostics.aspx из вашего проекта, когда закончите.

20
ответ дан 1 December 2019 в 03:13
поделиться

Я получал эту ошибку при обновлении моего проекта MVC 1.0 до MVC 2.0. Если вы это делаете, посмотрите http://weblogs.asp.net/leftslipper/archive/2010/03/10/migrating-asp-net-mvc-1-0-applications-to-asp- net-mvc-2-rtm.aspx

Дважды проверьте свой web.config на соответствие новому проекту MVC 2.0.

2
ответ дан 1 December 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: