Проблема шаблона редактора KendoUI с сеткой KendoUI

У меня есть сетка KendoUI, которая выводит некоторые раскрывающиеся списки внешнего ключа и другие поля, такие как даты, и по какой-то причине некоторые случайные тексты/символы добавляются до и после рендеринга элемента управления. В этом блоке ниже <$Bw$> <$Bx$> выводится в браузер в виде текста перед отображением списка выбора, за которым следует <$By$>.

<td role="gridcell" data-container-for="StateProvinceId">&lt;$Bw$&gt;
<!--$Bw$-->&lt;$Bx$&gt;<span style="" class="k-widget k-dropdown k-header" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-owns="StateProvinceId_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false"><span unselectable="on" class="k-dropdown-wrap k-state-default"><span unselectable="on" class="k-input">&nbsp;</span><span unselectable="on" class="k-select"><span unselectable="on" class="k-icon k-i-arrow-s">select</span></span></span><input data-val="true" data-val-number="The field StateProvinceId must be a number." data-val-required="The StateProvinceId field is required." id="StateProvinceId" name="StateProvinceId" type="text" value="0" data-role="dropdownlist" style="display: none;" data-bind="value:StateProvinceId" class="valid"></span><script>
    jQuery(function(){jQuery("#StateProvinceId").kendoDropDownList({"dataSource":[],"dataTextField":"Text","dataValueField":"Value"});});
</script><!--$Bx$-->&lt;$By$&gt;
<!--$By$--><span class="field-validation-valid" data-valmsg-for="StateProvinceId" data-valmsg-replace="true"></span></td>

Шаблон редактора FK просто используется по умолчанию.

@using Kendo.Mvc.UI

@model object
           
@(
 Html.Kendo().DropDownListFor(m => m)        
        .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
)

Это происходит со всеми отображаемыми полями, имеющими шаблон редактора KendoUI.

Скриншот ошибки

Код для сетки

@using Kendo.Mvc.UI
@model Data.DataModels.Person

@(Html.Kendo().Grid<Data.ViewModels.LicenseVM>()
    .Name("LicensesGrid")
    .Columns(columns =>
    {
        columns.ForeignKey(p => p.StateProvinceId, (System.Collections.IEnumerable)ViewData["StateProvinces"], "StateProvinceId", "Name")
            .Title("State");
        columns.ForeignKey(p => p.LicenseTypeId, (System.Collections.IEnumerable)ViewData["LicenseTypes"], "LicenseTypeId", "Name")
            .Title("Type");
        columns.Bound(p => p.LicenseNumber).Width(150);
        columns.Bound(p => p.ExpirationDate).Width(150);
        columns.Command(commands =>
        {
            commands.Edit(); // The "edit" command will edit and update data items
            commands.Destroy(); // The "destroy" command removes data items
        }).Title("").Width(200);
    })
    .ToolBar(toolBar =>
        {
            toolBar.Create().Text("Add License");
        })
    .DataSource(dataSource => dataSource
        .Ajax()
        .Events(events => events.Error("error_handler"))
        .Model(model =>
        {
            model.Id(p => p.PersonLicenseId);
            model.Field(p => p.PersonId).Editable(false).DefaultValue(@Model.PersonId);
        })
        .Read(read => read.Action("_GetLicenses", "Person", new { PersonId = Model.PersonId }))
        .Create(create => create.Action("_AddLicense", "Person"))
        .Update(update => update.Action("_EditLicense", "Person"))
        .Destroy(destroy => destroy.Action("_DeleteLicense", "Person"))
    )
)

<script type="text/javascript">
    function errorHandler(e) {
        if (e.errors) {
            var message = "Errors:\n";
            $.each(e.errors, function (key, value) {
                if ('errors' in value) {
                    $.each(value.errors, function () {
                        message += this + "\n";
                    });
                }
            });
            alert(message);
        }
    }
</script>

person RSolberg    schedule 22.08.2013    source источник
comment
Есть ли способ предоставить рабочий пример jsBin/jsFiddle, демонстрирующий проблему? Я знаю, что вы используете помощники сервера .NET, так что это может быть немного сложнее, но демо-репозиторий вашего сценария будет большим подспорьем для отладки (даже если просто для понимания вашей конфигурации)!   -  person Todd    schedule 23.08.2013
comment
@Todd Учитывая использование .NET, я не думаю, что смогу воспроизвести это так легко ... Однако я открыт для некоторых других идей, напишите мне в DM через Twitter, и, возможно, мы сможем начать обмен электронной почтой по устранению неполадок?   -  person RSolberg    schedule 23.08.2013
comment
Одной из вероятных проблем является формат ваших данных JSON. Если в нем есть какие-то необычные символы, это может быть причиной аномалий рендеринга, которые вы видите. Можете ли вы поделиться JSON, который вы пытаетесь привязать к своей сетке?   -  person Todd    schedule 23.08.2013
comment
Надеюсь, изображение выше стоит тысячи слов. Когда это решение развертывается в Azure, я не вижу этих символов, поэтому это происходит только через localhost/development.   -  person RSolberg    schedule 23.08.2013
comment
Это очень странная проблема. Попробуйте отключить библиотеку AntiXSS (из web.config). Другой проблемой могут быть поврежденные шаблоны редактора (по какой-либо причине). Практически невозможно найти ‹!--$Bx$--› с помощью Google :)   -  person Atanas Korchev    schedule 24.08.2013
comment
Я не вижу никакого AntiXSS, даже включенного в web.config...   -  person RSolberg    schedule 25.08.2013
comment
@RSolberg, можете ли вы показать свой код, как вы связываете Forenkey в сетке.   -  person Jaimin    schedule 27.08.2013
comment
@RSolberg @Todd У меня та же проблема. Проблема возникает только тогда, когда debug="true" установлен в web.config   -  person Geoff Appleford    schedule 02.09.2013
comment
Пожалуйста, смотрите мой ответ. Вероятно, проблема связана с BrowserLink.   -  person FesterCluck    schedule 18.11.2015


Ответы (1)


Вероятно, это разметка, добавленная BrowserLink. Я рекомендую вам отключить его для этого сценария.

http://www.poconosystems.com/software-development/how-to-disable-browser-link-in-visual-studio-2013/

person FesterCluck    schedule 13.11.2015