Наследование страниц
От: Аноним  
Дата: 30.07.08 08:33
Оценка:
Есть PageBase.aspx. Хочу другие страницы отнаследовать от нее.
Добавляю страницу Test.aspx, в файле кода меняю базовый класс:
public partial class Test : PageBase
{
   ...
}

При копиляции — ошибка:
"Не удалось найти имя типа или пространства имен 'PageBase' (пропущена директива using или ссылка на сборку?)"

Что-то не так, а что — не понимаю.
И Test, и PageBase находятся в одной директории, неймспейсы и там и там отсутствуют.
Re: Наследование страниц
От: prospan  
Дата: 30.07.08 08:56
Оценка:
Здравствуйте, Аноним.

Специално попробовал. У меня работает. PageBase объявлена как public? А вообще, нэймспэйсы лучше исползовать
Re[2]: Наследование страниц
От: hfr  
Дата: 30.07.08 09:20
Оценка:
Здравствуйте, prospan, Вы писали:
P>Здравствуйте, Аноним.
P>PageBase объявлена как public?
Да.
Быть может проблема в том, что и Test, и PageBase — это content страницы для master-page? master-page лежит тоже в этой же папке.
Re[3]: Наследование страниц
От: prospan  
Дата: 30.07.08 10:07
Оценка:
Здравствуйте, hfr, Вы писали:

А вы неймспейсы вручную удаляли?
Re[4]: Наследование страниц
От: Аноним  
Дата: 30.07.08 19:39
Оценка:
Здравствуйте, prospan, Вы писали:
P>А вы неймспейсы вручную удаляли?
В смысле? Так если я добавляю (через Solution Explorer) aspx страничку, то ее класс не помещается по умолчанию в namespace.
Re[5]: Наследование страниц
От: Hermit Латвия  
Дата: 30.07.08 21:36
Оценка:
Класс BasePage поместить в папку App_Code (ASP.NET Folder)
EOF
Re[6]: Наследование страниц
От: hfr  
Дата: 31.07.08 09:44
Оценка:
Здравствуйте, Hermit, Вы писали:
H>Класс BasePage поместить в папку App_Code (ASP.NET Folder)
Спасибо за ответ!
Только тут возникают новые проблемы.
У меня на BasePage есть User Control, который используется в методах BasePage.
Вот такой код у BasePage.aspx поучается после размещения ее в папке App_Code:

...
<%@ Register Src="~/MyCtrl.ascx" TagName="MyCtrl" TagPrefix="AAA" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <AAA:MyCtrl ID="MyCtrl1" runat="server" />
</asp:Content>

Компилятор начинает ругаться на AAA:MyCtrl — мол, нету такого:
Element 'MyCtrl' is not a known element. This can occur if there is a compilation error in the Web site.
Сам файл MyCtrl.ascx находится в корне сайта.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.