2011-10-13 44 views
1

我想创建一个Sitecore的sublayout类似如下:如何访问Sitecore子布局的自定义属性?

<sc:Sublayout runat="server" ID="slMySublayout" Path="~/layouts/My Sublayout.ascx" MyCustomProperty="some value" /> 

我希望,因为Sitecore的sublayout是从我将能够创建一个名为公共财产的ASP.NET用户控件继承“MyCustomProperty “并获得为sublayout声明设置的值。但是,这似乎并不奏效。公共属性似乎从未使用在ASCX文件中输入的值进行设置。

有谁知道这是可能的吗?

感谢, 科瑞

回答

5

我想通了。相反 - 你写你的sublayout标签是这样的:

<sc:Sublayout runat="server" ID="slMySublayout" Path="~/layouts/My Sublayout.ascx" Parameters="MyCustomProperty=somevalue" /> 

然后确保你的sublayout从SublayoutBase(共享源 - http://trac.sitecore.net/SublayoutParameterHelper/browser/Trunk/Web/UI/Sublayouts/SublayoutBase.cs)继承。只要你的子布局有一个名为MyCustomProperty的公共属性,它就会在加载时正确设置。如果你有多个属性,你可以将它们全部设置在Parameters部分 - 只需在它们之间使用&符号。

+0

不要忘记接受你自己的答案,如果它解决了问题。 – Kasaku