You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sitefinity继承DynamicContentController如何使用默认设计器

问题原因

你配置的DesignerUrl属性不生效,核心原因是路径配置错误:

  • 配置的路径缺少必要的上下文参数占位符,系统加载设计器时无法获取当前控件的ID、类型信息,会直接拦截加载请求
  • 静态路径未匹配动态内容控制器内置的设计器路由规则,会被模块权限、动态类型校验逻辑拦截
正确实现方法

不需要自行实现自定义设计器,按以下两种方式配置即可直接调用系统默认设计器:

方式1(推荐):移除手动配置的DesignerUrl特性

DynamicContentController基类已经内置了默认设计器的路由解析逻辑,你只需要给自定义控制器加上DynamicContentType特性,绑定对应动态模块的内容类型即可,完整特性配置示例:

[ControllerToolboxItem(Name = "TT_FAQ_test_MVC", Title = "TT_FAQ_test_MVC", SectionName = "TT Widgets")]
[DynamicContentType(typeof(你的动态模块对应强类型))] // 替换为你FAQ动态模块生成的类型
public class TT_FAQ_test_MVCController : DynamicContentController
{
    // 控制器内无需额外编写设计器相关逻辑
}

方式2:特殊场景下手动指定DesignerUrl

如果你需要指定设计器默认打开的视图(比如默认打开列表选择视图而非详情设置视图),可以配置带标准参数占位符的路径,示例:

// 配置为默认打开动态内容列表选择设计器
[DesignerUrl("~/Telerik.Sitefinity.Frontend/Designer/Master/DynamicContentMaster?ControlId={0}&ControlType={1}")]

注意路径末尾必须带上ControlId={0}&ControlType={1}参数占位符,否则设计器无法获取控件上下文,依然会加载失败。

配置完成后重新编译项目,重启Sitefinity站点应用,拖入自定义组件点击编辑即可正常唤起系统默认的动态内容设计器。

内容的提问来源于stack exchange,提问作者Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:51:26