2012-08-03 51 views
0

我有一个子布局,我想静态绑定几个不同的布局。因此,我不想在设计器中对sublayout的每个实例声明性地指定路径属性。我真正想做的是有一个常量文件(或配置文件),其中包含sublayouts的路径,然后我使用在包含sublayouts的文件背后的代码中给定的sublayout设置路径。在代码隐藏中设置子布局的路径属性不起作用

但是,当我尝试在on_loadon_init中设置路径属性时,子贴图不会呈现到页面。我错过了什么吗?

例子:

private void Page_Load(object sender, EventArgs e) { 
    plBakingTips.Path = "/layouts/User Defined/Sublayouts/Products/Product List/Product/Product Bake It Yours.ascx"; 
} 
+1

为什么你想静静地说(我认为你的意思是动态的)添加一个布局代码后面的代码?有什么原因让你转向这样的解决方案? Sitecore可以为您做到这一点。 – Younes 2012-08-03 07:43:40

回答

0

这应该是正是你需要的。它可以让你在代码中添加一个子布局落后

Temporarily change a Sitecore item's layout

我用来改变子布局的数据源和它工作得很好。

+0

我认为这不是对这个问题的回答。同时更改子布局的数据源与暂时更改布局完全不同...... – Younes 2012-08-03 09:13:20

+0

更改数据源是您可以使用此方法执行的一个示例。答案解释的主要问题是在代码中更改/插入布局,这是(我认为)用户要求的内容... – 2012-08-03 11:08:20

1

尝试用〜

Path = "~/layouts..."; 

而且前缀的路径,这是一个文件系统路径,而不是sublayout项目路径(我提到这一点,因为你的路径看起来像项目路径)

相关问题