我想创建一个Sitecore子布局,如下所示:
<sc:Sublayout runat="server" ID="slMySublayout" Path="~/layouts/My Sublayout.ascx" MyCustomProperty="some value" />
我希望,因为Sitecore子布局是从ASP.NET用户控件继承的,所以我可以创建一个名为“MyCustomProperty”的公共属性,并获得为子布局明确设置的值。然而,这似乎不起作用。似乎永远不会使用在ASCX文件中输入的值设置公共属性。
有人知道这是否可行?
谢谢, 科里
答案 0 :(得分:5)
我明白了。相反 - 你写这样的sublayout标签:
<sc:Sublayout runat="server" ID="slMySublayout" Path="~/layouts/My Sublayout.ascx" Parameters="MyCustomProperty=somevalue" />
然后确保您的子布局继承自SublayoutBase(共享源 - http://trac.sitecore.net/SublayoutParameterHelper/browser/Trunk/Web/UI/Sublayouts/SublayoutBase.cs)。只要您的子布局中有一个名为MyCustomProperty的公共属性,它就会在加载时正确设置。如果你有多个属性,你可以在参数部分设置它们 - 只需在它们之间使用一个和号。