2016-06-16 3 views
0

У меня очень странная ошибка. У меня есть страница на MVC, которая отображает два редактора и получает модель, имеющую значение для обоих редакторов. Модель выглядит следующим образом:Редактор kendo не отвечает после нескольких запросов на ту же страницу в IE

public class BulletinsModel 
    { 
     [AllowHtml] 
     [Display(Name = "Some Bulletin")] 
     public string SomeBulletin { get; set; } 

     [AllowHtml] 
     [Display(Name = "Other Bulletin")] 
     public string OtherBulletin { get; set; } 
    } 

Я тогда, определенный вид, который принимает этот вид модели и отображает его на два кендо editors.There также некоторые Javascript код, чтобы сделать пост, чтобы обновить информацию.

@model BulletinsModel 

<div id="settings"> 
    <div class="form-horizontal"> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.SomeBulletin, new { @class = "col-md-6 text-left" }) 
      @(Html.Kendo().EditorFor(m => m.SomeBulletin).Encode(false).Name("Some_Bulletin")) 

      @Html.LabelFor(m => m.OtherBulletin, new { @class = "col-md-6 text-left" }) 
      @(Html.Kendo().EditorFor(m => m.OtherBulletin).Encode(false).Name("Other_Bulletin")) 
     </div>  
    </div> 
</div> 

Мой код для моего метода действий, который делает этот вид как не следует (ничего фантазии):

[HttpGet] 
public PartialViewResult Index() 
{ 
    ViewBag.ActiveSectionName = "Bulletins"; 
    var bulletinModel = GetBulletinsModel(); 
    return PartialView("_Bulletins",bulletinModel);   
} 

Однако, мой вопрос заключается в том, что после удара действие Index пару раз, редакторы не реагируют, и я не могу редактировать информацию о них. Это происходит только в IE, так как я не смог повторить проблему в других браузерах.

EDIT: Я только что заметил, что редактор заморожен. Чтобы иметь возможность редактировать то, что находится внутри редактора, мне нужно щелкнуть по любой опции панели инструментов, чтобы снова реагировать на нее. Почему это?

ответ

0

Оказывается, проблема связана с IE, подробно описанной в этом сообщении: Adding, removing, adding editor -> all editors on page become read only in IE. Проблема в том, что внутри редактора встроены фреймы. Я загружал свою страницу с помощью запроса Ajax, которому я должен был добавить следующий код, прежде чем делать запрос, чтобы он работал.

function unloadEditor($editor) { 
     if ($editor.length > 0) { 
      $editor.data('kendoEditor').wrapper.find("iframe").remove(); 
      $editor.data('kendoEditor').destroy(); 
     } 
    } 
    unloadEditor($('#myEditor')); 
Смежные вопросы