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")
Другие вопросы по тегам