MVC5 Просмотров и Kendo Splitter - Содержание в 2 перезаписывает 1
TLDR; Почему данные панели contentUrl перезаписывают данные pane1 contentUrl. Подробности ниже.
Хорошо, мы получаем образование в огне и пытаемся узнать больше о веб-разработке, слишком быстро разрабатывая приложение. Используя MVC 5 и Telerik (Kendo), я пытаюсь создать сплиттер, а не загружать из 4 различных частичных представлений. В настоящее время я просто использую фиктивные / демо-данные с сайта Telerik.
Когда страница загружается, она кратко отображает содержимое @Url.Content("~/Productivity"), затем она заменяется содержимым @Url.Content("~/QualityControl"), но заголовки не меняются.
И Productivity, и QualityControl являются частичными представлениями, которые возвращаются связанными контроллерами и являются. SpanOfControl и Position Control в настоящее время возвращают только заголовок H2.
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")" }
]
});
1 ответ
Так что я много копался и нашел ответ 2 часа назад, но о поддержке Telerik он все еще смутно упоминается.
Так как я использовал слегка модифицированные демки из Telerik UI для ASP.NET MVC, я забыл изменить название диаграмм. Я решил опубликовать этот ответ, так как понял, когда писал этот вопрос. Даже если они находятся в разных представлениях и контроллерах, при попытке отобразить их на одной странице вы, скорее всего, столкнетесь с проблемой, с которой я столкнулся. Это было более смущающим, поскольку графики работали отлично, когда на их отдельных страницах.
Поэтому, если вы хотите использовать 2 диаграммы / элементы управления на отдельных страницах, но по-прежнему хотите отображать их (через представление / сетку / панель и т. Д.) На той же странице, обязательно измените имя ниже.
По умолчанию:
Html.Kendo().Chart()
.Name("chart")