2011-10-13 45 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