Есть PageBase.aspx. Хочу другие страницы отнаследовать от нее.
Добавляю страницу Test.aspx, в файле кода меняю базовый класс:
public partial class Test : PageBase
{
...
}
При копиляции — ошибка:
"Не удалось найти имя типа или пространства имен 'PageBase' (пропущена директива using или ссылка на сборку?)"
Что-то не так, а что — не понимаю.
И Test, и PageBase находятся в одной директории, неймспейсы и там и там отсутствуют.
Здравствуйте, Аноним.
Специално попробовал. У меня работает. PageBase объявлена как public? А вообще, нэймспэйсы лучше исползовать
Здравствуйте, hfr, Вы писали:
А вы неймспейсы вручную удаляли?
Здравствуйте, prospan, Вы писали:
P>А вы неймспейсы вручную удаляли? 
В смысле? Так если я добавляю (через Solution Explorer) aspx страничку, то ее класс не помещается по умолчанию в namespace.
Здравствуйте, 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 находится в корне сайта.