0

非常に奇妙なバグがあります。MVC に 2 つのエディターを表示するページがあり、両方のエディターの値を持つモデルが渡されます。モデルは次のとおりです。

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

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

次に、このビュー モデルを受け取り、それを 2 つの剣道エディターにマップするビューを定義しました。情報を更新するための投稿を作成するための 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);          
}

ただし、私の問題は、インデックス アクションを数回押した後、エディターが応答しなくなり、それらの情報を編集できないことです。他のブラウザで問題を再現できなかったため、これは IE でのみ発生します。

編集:エディターがフリーズしていることに気付きました。エディタ内の内容を編集できるようにするには、ツールバーの任意のオプションをクリックして、もう一度レスポンシブにする必要があります。何故ですか?

4

1 に答える 1

0

この投稿で詳しく説明されているように、IE で問題が発生していることが判明しました: 追加、削除、追加エディター -> ページ上のすべてのエディターは IE で読み取り専用になります。問題は、エディター内の iframe にあります。ページを Ajax リクエストでロードしていましたが、リクエストを機能させる前に次のコードを追加する必要がありました。

    function unloadEditor($editor) {
        if ($editor.length > 0) {
            $editor.data('kendoEditor').wrapper.find("iframe").remove();
            $editor.data('kendoEditor').destroy();
        }
    }
    unloadEditor($('#myEditor'));
于 2016-06-17T16:13:05.513 に答える