“内容页面”可以将简单的“属性”发送到“母版页”吗?

时间:2009-01-13 19:41:26

标签: asp.net master-pages

母版页的基本思想很简单 - 您有一个内容块,您想要“注入”母版页中的某个位置。

很容易想到这一点,甚至没有阅读有关masterpages的文档(我承认没有阅读!)。

我想要做的是将'properties'从其子页面传递给母版页。例如,我可能有一个主内容面板,我想在子页面中设置像素填充。可能还有其他简单的“原始类型”,我希望母版页可以呈现它的子代。我想避免尽可能地弄乱样式表 - 或者我最终会得到一些类似命名的项目。

有没有首选方法可以做到这一点?

2 个答案:

答案 0 :(得分:2)

在您的母版页中创建一些类型的钩子(属性或方法),允许某些代码以您想要的任何方式操作母版页。然后在各个页面上执行以下操作:

YourMasterPageType masterPage = (YourMasterPageType)Page.Master;
masterPage.YourHook();

无论你做什么,都不要反过来做事(在母版页中创建特殊情况,搜索页面以获得一些神奇的价值)。你想提供一个接口来操作母版页,否则你最终会得到非常混乱的代码。

答案 1 :(得分:1)

是的,但反过来说。

如果设置内容页面的MasterPageType属性,则可以使用Master.PropertyName语法访问母版页的所有公共属性。

因此,您的子页面可以获取并设置母版页的属性值。