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 设置值到达客户端之前呈现编辑器。
目前我们有一个完整的页面,可以在视图中毫无问题地呈现 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 设置值到达客户端之前呈现编辑器。