2013-08-02 5 views
1

Я думаю, у меня довольно простой вопрос. Я только начинаю веб-приложение с asp.net, и я хочу использовать главную страницу. Однако, создав его и попытавшись запустить его с некоторым примером кода, я получаю эту ошибку:ASP.NET главная страница наследовать ошибку

Ошибка компиляции Описание: Произошла ошибка во время компиляции ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь с приведенными ниже конкретными данными об ошибках и соответствующим образом измените исходный код.

Сообщение об ошибке компилятора: ASPNET: Убедитесь, что класс, определенный в этом файле кода, соответствует атрибуту 'inherits' и расширяет правильный базовый класс (например, страницу или UserControl).

Источник ошибки:

Line 12: namespace MvcApplication3 
Line 13: { 
Line 14:  public partial class Site : System.Web.UI.MasterPage 
Line 15:  { 
Line 16:   protected void Page_Load(object sender, EventArgs e) 

Мой файл Site.Master имеет то, что я думаю, что это правильный унаследуют вызов:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.Master.cs" Inherits="Site" %> 

какие-либо идеи?

благодаря

+1

Ну, ваша MasterPage не наследует класс 'Site', это наоборот. – Shimrod

+3

* MvcApplication3 * и * Page_Load * событие? O_o –

+0

@Shimrod Это неправда. Конкретная главная страница наследует класс, который находится в его коде, который, в свою очередь, наследует 'System.Web.UI.MasterPage'. То же самое для страниц и элементов управления - цепочка наследования обычно проходит эти три уровня ('ASP.site_master: MyApp.Site: System.Web.UI.MasterPage') –

ответ

0

Я считаю, что вы просто не хватает пространства имен в заголовке вашей главной страницы:

<%@ Master ... CodeFile="Site.Master.cs" Inherits="MvcApplication3.Site" %> 
+0

Я пробовал эту, но такую ​​же проблему. –

+0

Без пространства имен в строке 'Inherits' я получаю вашу ошибку. Как только я добавляю его, он компилируется и работает отлично. Ваш класс находится в том же каталоге, что и главная страница, и называется 'Site.Master.cs', правильно? –

0

Вы предназначены на «общественного частичного класса Сайт» себе быть главной страницы? Кажется, вы добавляете уровень между страницей и главной страницей, которая не обязательно должна быть там.

В моих классах страниц используется следующий синтаксис для указания главной страницы.

MasterPageFile="~/MasterPage.master" 
Inherits="namespace.pageClassName" 

Вы можете иметь пользовательский класс страницы, который выступает в качестве базового класса для класса страницы, но я никогда не видел, чтобы кто Подгруппа главной страницы, как это.

+0

Помимо путаницы пространства имен, на этом вопросе отображается точно мастер-страница из коробки. Файл '.master' имеет атрибут« Inherits »- он наследуется от класса, который, в свою очередь, наследуется от' System.Web.UI.MasterPage'. –