Тестирование, чтобы увидеть, было ли содержимое ContentPlaceHolder переопределено дочерней страницей? - PullRequest
0 голосов
/ 25 июня 2009

Я сейчас перевожу приложение .net 1.1 в .net 3.5.

В приложении .net 1.1 имеется ряд страниц + usercontrol, которые я хотел бы перенести на мастер-страницы.

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

  1. Возможно ли это?
  2. У кого-нибудь есть образцы или ссылки, на которые я мог бы взглянуть?

Заранее спасибо.

1 Ответ

0 голосов
/ 25 июня 2009

Страница может взаимодействовать с главной страницей, но не наоборот, так как содержимое в держателе содержимого не принадлежит главной странице. Самый быстрый способ настроить страницу, "регистрирующуюся" на главной странице, - это объявить класс, который наследуется от .NET MasterPage, и предоставить функции связи в этом классе.

открытый абстрактный класс MyMaster: System.Web.UI.MasterPage { public MyMaster () {}

public abstract void TellMeSomethingAboutTheContent(SomeArgs args);

}

Тогда на вашей странице, которая использует мастера, вы можете сделать что-то вроде:

protected void Page_Load(object sender, EventArgs e) 
{ 
    MyMaster master = Page.Master as MyMaster;


    if (master == null)
        return;


    master.TellMeSomethingAboutTheContent(args);
}

Если, конечно, у вас есть класс SomeArgs, который содержит данные, о которых вы хотите, чтобы главная страница знала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...