0

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

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

以下是带有示例规则的完整视图中 RuleEditor 的外观: RuleEditor Full view

这是对话框中相同规则RuleEditor的 RuleEditor 显示(错误渲染) 此对话框中的 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 发布/控制器方法完成了所有 RuleEditor 设置。这似乎效果更好,但现在上下文菜单似乎断开了。(见红圈区域)对话框中的规则编辑器,后面的上下文菜单

4

1 回答 1

0

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

于 2017-12-08T20:26:37.937 回答