CodeEffects RuleEditor无法在MVC对话框中呈现

时间:2017-12-07 17:05:10

标签: model-view-controller codeeffects

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

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

以下是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控制台错误。有关为何发生这种情况的任何想法?

谢谢!

******* ***** UPDATE 以下是对话框的.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

1 个答案:

答案 0 :(得分:0)

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