Kentico中如何将Visual Studio创建的ASPX母版页用于页面模板?
嘿,作为刚接触Kentico的.NET新手,我太懂你这种自己搭了ASPX母版页却不知道怎么对接Kentico页面模板的迷茫了!别担心,跟着下面的步骤一步步来,很快就能搞定:
步骤1:把你的ASPX母版页放到Kentico项目的正确位置
首先得把你在Visual Studio里做的.master和对应的.cs文件,复制到Kentico项目的~/CMSPages/MasterPages/目录下——这是Kentico默认存放母版页的地方,放这里后台才能识别到。如果是Web Forms架构的Kentico项目,直接复制粘贴就行;要是MVC项目的话,路径可能需要调整,但你用的是ASPX母版页,大概率是Web Forms架构~
步骤2:在Kentico后台注册并配置你的母版页
登录Kentico后台后,按下面的操作来:
- 左侧菜单找到设计 -> 页面模板,点击「新建模板」,给你的模板起个好记的名字,比如「自定义ASPX主模板」
- 在「母版页」下拉选项里,就能看到你刚才放进去的ASPX母版页了(如果没显示,刷新下后台或者检查文件路径是不是错了)
- 这一步很关键:给母版页添加Kentico占位符控件!因为Kentico需要知道母版页里哪些区域是可编辑的内容区。你得回到Visual Studio里,在你的ASPX母版页中想要放内容的位置,添加这个控件:
保存母版页后,回到Kentico后台的模板编辑界面,就能看到这个占位符了,给它起个直观的名字,比如「主内容区」。<%@ Register TagPrefix="cms" Namespace="CMS.PortalControls" Assembly="CMS.PortalEngine" %> <!-- 把下面的控件放到你需要内容编辑的区域里 --> <cms:CMSPlaceholder ID="plcMainContent" runat="server" />
步骤3:把模板关联到对应的页面类型
Kentico的页面都是基于「页面类型」创建的,所以得把你的自定义模板和页面类型绑定:
- 左侧菜单找内容 -> 页面类型,选中你要用的页面类型(比如默认的「基本页面」),点击编辑
- 切换到「模板」选项卡,把你刚创建的自定义模板设为默认模板,或者添加成可选模板
步骤4:创建页面并使用你的模板
现在去内容树里新建页面,选择对应的页面类型,就能看到你的自定义模板啦!创建完成后进入页面编辑模式,之前设置的占位符区域就可以添加Web部件或者编辑内容了。
几个小提醒
- 一定要确保母版页里引用了Kentico的必要命名空间,不然占位符控件会报错,就是刚才代码里的那行
<%@ Register... - 如果你的母版页有自定义CSS/JS,最好放到Kentico的
~/CMSPages/Styles/或~/CMSPages/Scripts/目录下,避免路径问题导致样式/脚本加载失败 - 测试的时候先在本地Kentico站点运行,看看有没有编译错误,比如控件找不到这类问题,慢慢排查就行
内容的提问来源于stack exchange,提问作者Denis
相关产品推荐
相关产品推荐

