CodeEffects RuleEditor 不在 MVC 对话框中呈现

CodeEffects RuleEditor not rendering in MVC dialog

目前我们有一个完整的页面,可以在视图中毫无问题地呈现 RuleEditor。我 运行 遇到了一个问题,无法让它在对话框中正确呈现。

我使用完全相同的逻辑在完整视图和对话框视图之间加载对象。

下面是规则编辑器在完整视图中的样子,带有示例规则: RuleEditor Full view

这是相同规则的 RuleEditor 显示(渲染不佳) RuleEditor within dialog 此对话框中的 div 内容是:

<div id="ruleModel" name="ruleModel">
    <input type="hidden" id="ruleModelData" name="ruleModel">
    <a href="http://codeeffects.com" ce002="false">.</a>
</div>

没有 html/javascript 控制台错误。想知道为什么会这样吗?

谢谢!

*********更新***** 这是对话框的 .cshtml 内容:

@model RuleViewModel

<link href="@Url.Content("~/Content/Common.css")" rel="stylesheet" 
type="text/css" />

@{
    ViewBag.Title = "Edit Rule1";
    Layout = null;
    Html.CodeEffects().Styles()
        .SetTheme(ThemeType.Gray)
        .Render();
}


@using (Html.BeginSecureForm("Save", "Rule"))
{
    @Html.ValidationSummary(true)
    <br />
    <b>Rule Name:</b> @Html.TextBoxFor(m => m.RuleName, new { id = 
"RuleName", @class = "form-control" })

    <fieldset>
        <div class="main">
            <div class="area">
                <div style="margin-top:10px;">
                    @{
                        Html.CodeEffects().RuleEditor()
                                        .Id("ruleModel")
                                        .ShowToolBar(false)
                                        .Mode(RuleType.Evaluation)
                                        .Rule(ViewBag.Rule)
                                        .DataSources(Model.DataSources)
                                        .ContextMenuRules(Model.Rules)
                                        .Render();

                    }
                    @{
                        Html.CodeEffects().Scripts().Render();
                    }
                </div>
                <div class="modal-footer">
                    <input class="btn btn-default" submit" type="submit" 
value="Save" />
                    <button type="button" class="btn btn-
default">Cancel</button>
                </div>
            </div>
        </div>
    </fieldset>
}

更新 #2 我从 AJAX 示例中获取并通过 AJAX post/controller 方法完成了所有 RuleEditor 设置。这似乎效果更好,但现在上下文菜单似乎已断开连接。 (见红圈区域)RuleEditor In Dialog, Context Menu behind

您的对话框很可能是 "disconnected" 来自主编辑器的脚本以及它在加载时从服务器接收的所有 json 设置。另一种可能性是您的对话框试图在这些 json 设置值到达客户端之前呈现编辑器。