我有一些来自CMS的内容,我需要转移到原始的asp.net页面。由于模板是嵌套的,我想我可以使用嵌套的主页来实现它,但我发现我无法在深层子页面的顶级母版页上设置值。
这是一个示例。我有几个嵌套的masterpages与contentplaceholders:
问题是asp.net不允许我在内容页面中定义contentPlaceHolder1的值,它应该在嵌套的master中定义。但重点是客户端页面知道该值,而不是模板主人(例如,页面知道它必须在顶部显示的图形,但图形的占位符是顶级主人)。
如何在aspx页面中设置要在顶级母版中呈现的值?
答案 0 :(得分:1)
通常您必须执行以下操作:
Master.YourPageProperty = "value";
对于嵌套的主页,您还必须使用上面相同的方法设置传递公共属性,但是在嵌套的母版页中执行它(即定义嵌套的母版页主页并设置刚设置的公共属性传递给嵌套主服务器的值到顶部主服务器。)
尝试查看本文以强化我所提到的想法:
答案 1 :(得分:0)
我通常会将所有.aspx页面从基页继承,并在此页面上为我要共享的任何数据设置属性。然后,在您的顶级母版页上,您可以将当前页面转换为键入基页,然后可以访问所有数据。
我经常将基页作为属性公开在我的母版页上,这样我就可以进行软转换并进行空检查,如果我有任何不从我的基页继承的页面正在使用母版页。