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

如何在DotVVM页面中集成/引用DevExpress WebForms控件?

在DotVVM环境中适配DevExpress控件的解决方案

首先需要明确:DotVVM的.dothtml页面无法直接使用WebForms的服务器端控件(包括DevExpress的dx前缀控件),因为两者的运行机制完全不同。你之前在web.config中配置的<pages><controls>节点是WebForms专属的控件注册逻辑,只对.aspx页面生效,对DotVVM页面不起作用。

下面是几种可行的适配方案:

方案一:保留WebForms页面继续使用DevExpress控件

  • 无需将原ASPX页面转换为dothtml格式,直接保留在DotVVM项目中
  • 原页面顶部的<%@ Register %>指令或web.config中的控件注册依然有效,dx前缀控件可以正常使用
  • 通过DotVVM的路由配置或导航链接,实现DotVVM页面与WebForms页面之间的跳转

方案二:使用DevExpress官方提供的DotVVM集成组件

部分版本的DevExpress提供了DotVVM的适配组件,操作步骤如下:

  1. 安装DevExpress对应的DotVVM集成NuGet包(具体包名以官方文档为准)
  2. 在项目的DotvvmStartup.cs文件中注册DevExpress控件:
    public void ConfigureServices(IDotvvmServiceCollection services)
    {
        services.AddDotvvm<DotvvmStartup>();
        // 注册DevExpress DotVVM控件
        services.AddDevExpressControls();
    }
    
    public void Configure(IDotvvmConfiguration config, string applicationPath)
    {
        // 其他配置...
        config.RegisterDevExpressControls();
    }
    
  3. 注册完成后,即可在dothtml页面中使用dx前缀引用对应的DevExpress控件(具体控件名称可能会有调整,以官方说明为准)

方案三:替换为DotVVM原生/第三方控件

如果没有对应的DevExpress DotVVM集成组件,建议替换为更贴合DotVVM生态的控件:

  • 使用DotVVM原生控件替代,比如用dot:Menu、dot:ButtonGroup等组件替换ASPxRibbon的功能
  • 选择支持DotVVM的第三方UI组件库,实现类似的界面效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 01:45:06