MVC5 视图和 Kendo 拆分器 - 2 中的内容覆盖 1
MVC5 Views and Kendo Splitter - Content in 2 overwrites 1
TLDR;为什么窗格 2 contentUrl 数据覆盖窗格 1 contentUrl 数据。详情如下。
好的,我们正在接受教育,并试图学习更多基于 Web 的开发,同时开发应用程序的速度太快。使用 MVC 5 和 Telerik (Kendo) 我正在尝试创建一个 spitter,而不是从 4 个不同的局部视图加载。目前我只使用来自 Telerik 网站的 dummy/demo 数据。
页面加载时,会短暂显示@Url.Content("~/Productivity")的内容,然后被@Url.Content("~/QualityControl"的内容替换),但标题不变。
Productivity 和 QualityControl 都是部分视图,它们由关联的控制器返回并且是 . SpanOfControl 和 Position Control 目前只返回一个 H2 header.
public ActionResult Index()
{
return View("_ProductivityPartial");
}
public ActionResult Index()
{
return View("_QualityControlPartial");
}
HTML/Javascript 在 index.cshtml
<div id="verticalSplit">
<div id="topHorizontal">
<div id="top-left">Top Left</div>
<div id="top-right">Top Right</div>
</div>
<div id="bottomHorizontal">
<div id="bottom-left">Bottom Left</div>
<div id="bottom-right">Bottom Right</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#verticalSplit").kendoSplitter({
orientation: "vertical",
panes: [
{ collapsible: true, expand: true, resize: false },
{ collapsible: true, expand: true, resize: false }
]
});
$("#topHorizontal").kendoSplitter({
orientation: "horizontal",
panes: [
{ contentUrl: "@Url.Content("~/Productivity")" },
{ contentUrl: "@Url.Content("~/QualityControl")" }
]
});
$("#bottomHorizontal").kendoSplitter({
orientation: "horizontal",
panes: [
{ contentUrl: "@Url.Content("~/SpanOfControl")" },
{ contentUrl: "@Url.Content("~/PositionControl")" }
]
});
所以我做了很多挖掘,实际上在 2 小时前找到了答案,但在 Telerik 支持中仍然模糊地提到了它。
由于我使用的是 Telerik UI 对 ASP.NET MVC 稍作修改的演示,因此我忘记更改图表的名称。我决定 post 这个答案,因为我在写这个问题时意识到了这一点。即使它们位于不同的视图和控制器中,当尝试在同一页面上显示它们时,您也可能会遇到我遇到的问题。更令人困惑的是,图表在各自的页面上工作得很好。
因此,如果您想在不同的页面上使用 2 charts/controls,但仍想在同一页面上显示它们(通过 view/grid/pane 等),请确保更改下面的名称。
默认:
Html.Kendo().Chart()
.Name("chart")
TLDR;为什么窗格 2 contentUrl 数据覆盖窗格 1 contentUrl 数据。详情如下。
好的,我们正在接受教育,并试图学习更多基于 Web 的开发,同时开发应用程序的速度太快。使用 MVC 5 和 Telerik (Kendo) 我正在尝试创建一个 spitter,而不是从 4 个不同的局部视图加载。目前我只使用来自 Telerik 网站的 dummy/demo 数据。
页面加载时,会短暂显示@Url.Content("~/Productivity")的内容,然后被@Url.Content("~/QualityControl"的内容替换),但标题不变。
Productivity 和 QualityControl 都是部分视图,它们由关联的控制器返回并且是 . SpanOfControl 和 Position Control 目前只返回一个 H2 header.
public ActionResult Index()
{
return View("_ProductivityPartial");
}
public ActionResult Index()
{
return View("_QualityControlPartial");
}
HTML/Javascript 在 index.cshtml
<div id="verticalSplit">
<div id="topHorizontal">
<div id="top-left">Top Left</div>
<div id="top-right">Top Right</div>
</div>
<div id="bottomHorizontal">
<div id="bottom-left">Bottom Left</div>
<div id="bottom-right">Bottom Right</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#verticalSplit").kendoSplitter({
orientation: "vertical",
panes: [
{ collapsible: true, expand: true, resize: false },
{ collapsible: true, expand: true, resize: false }
]
});
$("#topHorizontal").kendoSplitter({
orientation: "horizontal",
panes: [
{ contentUrl: "@Url.Content("~/Productivity")" },
{ contentUrl: "@Url.Content("~/QualityControl")" }
]
});
$("#bottomHorizontal").kendoSplitter({
orientation: "horizontal",
panes: [
{ contentUrl: "@Url.Content("~/SpanOfControl")" },
{ contentUrl: "@Url.Content("~/PositionControl")" }
]
});
所以我做了很多挖掘,实际上在 2 小时前找到了答案,但在 Telerik 支持中仍然模糊地提到了它。
由于我使用的是 Telerik UI 对 ASP.NET MVC 稍作修改的演示,因此我忘记更改图表的名称。我决定 post 这个答案,因为我在写这个问题时意识到了这一点。即使它们位于不同的视图和控制器中,当尝试在同一页面上显示它们时,您也可能会遇到我遇到的问题。更令人困惑的是,图表在各自的页面上工作得很好。
因此,如果您想在不同的页面上使用 2 charts/controls,但仍想在同一页面上显示它们(通过 view/grid/pane 等),请确保更改下面的名称。
默认:
Html.Kendo().Chart()
.Name("chart")