Kentico:将用户控件添加到母版页 header

Kentico: Adding user control into master page header

我一直在尝试寻找一种方法,使用 Kentico 9 将用户控件添加到母版页模板的标头部分。

常用方法

<%@ Register Src="~/CMSWebParts/Homepage/ucControl.ascx" TagPrefix="uc1" TagName="Control" %>

<uc1:Control runat="server" id="ucControl" />

好像不行。如果有的话,我假设它已注册为 html 模板。

有没有人看过这个并整理过它?

我想知道这是否可行,如果可行,它是如何实现的。

是的,它仅支持 HTML 和宏,因此您可以创建一个自定义宏来执行与您的用户控件相同的操作,或者您可以将您的用户控件放在 [=12] 的头部=]\CMSPages\PortalTemplate.aspx 负责生成所有实时站点页面的模板(更好的选择是克隆门户模板并在那里进行自定义以避免升级期间由于自定义默认文件而出现问题)

选项 1:使用 Head HTML webpart,如果你的东西可以用这种方式实现的话。

选项 2:在母版页布局中编写宏 - 如果您不介意在每个母版页上都这样做,则此方法可行。

选项 3:编写一个实例化控件然后将其附加到头部的 Web 部件。你可以把这个webpart放到依赖master的页面模板中。您的代码隐藏必须将用户控件移动到新的父级。

选项 4:修改 PortalTemplate.aspx 你可以在这里放任何你喜欢的东西,但这会使修补程序变得更加困难。如果您只是添加一个用户控件,这可能不是问题。