Может быть возможно использовать базовый класс со свойствами, которые они должны определить как виртуальные члены. Просто создайте класс (без страницы, просто класс) в своем проекте с виртуальными членами, которые вы хотите, чтобы ваши пользователи использовали.
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