目前,我们有一个完整的页面,可以在视图中呈现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
答案 0 :(得分:0)
很可能您的对话框与主编辑器的脚本“断开连接”以及它在加载时从服务器接收的所有json设置。另一种可能性是您的对话框尝试在这些json设置值到达客户端之前呈现编辑器。