2017-10-18 15 views
0

KendoEditorウィジェットによってレンダリングされるテキストエリアに特殊文字を挿入すると問題が発生します。ウィジェットを次のように設定しました。KendoEditor TextAreaの特殊文字の解析

function configureRequestNotesEditor() { 
$("#notes").kendoEditor({ 
    resizable: { 
     content: true 
    }, 
    pasteCleanup: { 
     all: true, 
     css: true, 
     keepNewLines: true, 
     msAllFormatting: true, 
     msConvertLists: true, 
     msTags: true, 
     none: false, 
     span: false 
    }, 
    tools: [ 
     "bold", "underline", "insertUnorderedList", "insertOrderedList", "indent", "outdent" 
    ] 
}); 

}

私は私のAPIにデータを送信するときに私は、javacript関数escape()を使用して、私はAPIから呼び出すときに戻って、JavaScript関数unescape()を呼び出します。私はテキストエリアのフィールドに入力していたテキストは以下の通りです:

Send to James in UW ASAP. See attached files. How long is this field? 
300 
The amount should be <any amount you can think of. 

データが保存され、その後、UIに戻ってレンダリング

画面疑問がある

<p>Send to James in UW ASAP. See attached files. How long is t his field?</p><p>300</p><p>The amount should be &lt;any amount you can think of.</p> 

に印刷され、以下、どのようにデータを保存したのと同じ方法で元に戻すことができますか?これを防ぐために私は間違って何をしていますか?また、C#のバックエンドでは、テキストをデータベースに格納する前にHttpUtility.HtmlDecode(randomText)を使用しています。

答えて

2

剣道でもこの問題がありました。しかし、私はそれを処理する方法を提供するので、私はASP.NETラッパーを使用しています。それが役に立てば幸い。私のエディタで

は私が

.Encode(false) 

を設定し、フォームの私の対処法では、私は、私はすべての文字をエスケープする必要はありませんでした。この2つの追加で

[ValidateInput(false)] 

を設定して提出します。 もちろん、私は自分のデータベースに、ユーザーにデータを表示するときに同じフォーマットを持つために必要な書式付きテキストを保存しました。