ASP.NET Страница наследования - PullRequest
2 голосов
/ 04 августа 2009

Нужен совет в сети, но не очень далеко, поэтому я подумал, что попрошу совета.Я видел, как это было сделано, поэтому знайте, что я хочу сделать, но, глядя, я могу понять, как это было сделано

Что я хочу сделать, так это позволить пользователям изменять макет файла ASPX, поэтомучто они могут использовать его как шаблон письма, перемещение адресных строк, формат страницы и т. д. Теперь в показанном мной примере страница унаследовала стандартный класс, и у этого класса был набор универсальных функций, таких как foreName / sureName/ addressLine1 и т. д., то при проектировании файла ASPX, если пользователь хотел, чтобы addressLine1 отображался, он добавил бы тег content = "addressLine1"

. Любой совет о том, как достичь этого, будет принят,пропущено много простых вещей

1 Ответ

3 голосов
/ 04 августа 2009

Может быть возможно использовать базовый класс со свойствами, которые они должны определить как виртуальные члены. Просто создайте класс (без страницы, просто класс) в своем проекте с виртуальными членами, которые вы хотите, чтобы ваши пользователи использовали.

public class BasePage : Page {
  public virtual string Content;
}

На страницах, которые вы (или ваши пользователи) создаете, вам нужно наследовать от этого класса. Ваша страница будет выглядеть так:

public class MyPage : BasePage {
  public override string Content = "My Content";

  //Other logic can go here
}

(поскольку BasePage наследуется от класса Page, страница будет работать так же, как и любая другая страница Aspx).

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

Это также можно сделать для функций.

Подробнее о виртуальных членах и функциях можно прочитать по адресу MSDN

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