我有一个子布局,我想在几个不同的布局中静态绑定。因此,我不想在子布局的每个实例上以声明方式指定设计器中的path属性。我真正想做的是有一个常量文件(或配置文件),其中包含子布局的路径,然后我使用它在包含子布局的代码隐藏文件中设置路径f给定的子布局。
但是,当我尝试在on_load
或on_init
中设置路径属性时,子布局不会呈现给页面。我错过了什么吗?
示例:
private void Page_Load(object sender, EventArgs e) {
plBakingTips.Path = "/layouts/User Defined/Sublayouts/Products/Product List/Product/Product Bake It Yours.ascx";
}
答案 0 :(得分:1)
Sitecore默认设置PreInit中的所有页面控件。您可以更改此设置,但这是一个全局设置,我不确定是否建议您更改它。
但是,您可以覆盖的“工厂”构建子布局,这可能允许您执行此操作。实现自定义SublayoutRenderingType并覆盖web.config中的Sitecore默认值。
在此处查看示例: http://sitecoreblog.alexshyba.com/2011/08/sitecore-output-caching-kick-it-up.html?m=1
答案 1 :(得分:1)
尝试使用〜
为路径添加前缀Path = "~/layouts...";
另外,这是一个文件系统路径,而不是子布局项目路径(我提到这个,因为你的路径看起来像一个项目路径)
答案 2 :(得分:0)