开发者

Can I use the same content page with two different master pages?

开发者 https://www.devze.com 2022-12-20 08:56 出处:网络
I have开发者_如何学Python an asp.net content page which is used inside of a master page (with header, menu and some links). I would like to reuse it in a different context without the master page (to

I have开发者_如何学Python an asp.net content page which is used inside of a master page (with header, menu and some links). I would like to reuse it in a different context without the master page (to not display the header and menu there), or with an empty master page if this is somehow possible. I don't want to violate DRY principle by taking the whole page and creating a standalone clone of it for obvious reasons. Is this somehow possible ?


Yes, you can set the master page dynamically in the content pages Page_PreInit method:

private void Page_PreInit(object sender, EventArgs e)
{
    this.MasterPageFile = "MyMasterPage.master"
}

Set up some logic to dynamically choose which master page filename to pass in, and you are now sharing one content page with many master pages.


How about wrapping-up the shared content in a user control?

A user control is a kind of composite control that works much like an ASP.NET Web page—you can add existing Web server controls and markup to a user control, and define properties and methods for the control. You can then embed them in ASP.NET Web pages, where they act as a unit.

0

精彩评论

暂无评论...
验证码 换一张
取 消