У меня есть две похожие главные страницы, в основном они довольно обширные, но разница заключается в том, что одна использует
common content
<form id="form1" runat="server" enctype="multipart/form-data">
common content
</form>
common content
, а другая -
common content
<dn:Form id="form1" runat="server">
common content
</dn:Form>
common content
Мне было интересно, какможно сделать это, не создавая две главные страницы и просто изменив теги формы ...
То, как я сейчас это делаю, в основном состоит из одной главной страницы с другим содержимым, а вторая - свнутреннее содержимое и два других, которые просто содержат теги формы и заполнитель внутри них, а затем динамически выбирают одну главную страницу поверх другой.
Есть ли лучший способ сделать это или это правильный путь?спасибо.
Обновление: я не уверен, что моя текущая идея хорошо выражена:
Base.master будет иметь внешнее содержимое, без наследования.
Обычный и модифицированный.master будет иметь только разные теги формы, оба наследуются от Base.Master
Shared.master будет иметь внутреннее содержимое, наследуется от Regular.Master, и в случае, если ему требуется другой элемент управления формы, он выбирает другойmaster (который имеет тот же ContentPlaceHolderID
для FormContent
), динамически с чем-то вроде этого, может быть, чтение из web.config или тому подобное
protected void Page_PreInit(object sender, EventArgs e)
{
this.MasterPageFile = "~/App_Shared/RegularWebForm.Master";
this.MasterPageFile = "~/App_Shared/UrlRewritableWebForm.Master";
}
Целью этого является возможность использовать тот жеГлавная страница для трех разных приложений для одного и того же веб-домена.
Идея, предложенная моим решением, заключается в том, что у меня есть эти четыре файла главной страницы в данной папке "App_Shared", на которую ссылается svn: externals fromвсе проекты, поэтому мне не нужно повторять код.Идея заключается в том, чтобы я выбрал, использует ли Shared.Master (который будет файлом главной страницы функциональной базы для всех трех приложений) обычную форму или пользовательский элемент управления в текущем приложении, и этот выбор может быть сделан с помощью параметра вweb.config для приложения.