2017-10-18 24 views
0

Je rencontre un problème lorsque j'insère des caractères spéciaux dans une zone de texte rendue par un widget KendoEditor. J'ai configuré mon widget de la manière suivante:Analyse des caractères spéciaux dans 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" 
    ] 
}); 

};

Lorsque j'envoie les données à mon API, j'utilise la fonction javascript escape() et quand je la récupère de l'API, j'appelle la fonction javascript unescape(). Le texte que j'essaie d'entrer dans le champ textarea est la suivante:

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. 

Lorsque les données sont enregistrer puis rendu revenir à l'interface utilisateur qui suit est imprimé à l'écran

<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> 

La question est, comment puis-je reconvertir les données de la même manière qu'elles ont été sauvegardées? Que fais-je incorrectement pour éviter cela? Aussi, j'ai oublié de mentionner que sur le backend en C# j'utilise HttpUtility.HtmlDecode(randomText) avant de stocker le texte dans la base de données. J'ai eu ce problème avec l'éditeur de kendo aussi.

Répondre

2

Cependant j'utilise l'encapsuleur ASP.NET donc je vais fournir la façon dont je l'ai géré. J'espère que cela aide.

Dans mon éditeur, je mis

.Encode(false) 

et dans ma méthode d'action pour la forme soumettre je mis le

[ValidateInput(false)] 

Avec ces deux ajouts, je n'ai pas eu pour échapper à des personnages. Bien sûr, j'ai sauvegardé dans ma base de données le texte formaté qui est évidemment nécessaire pour avoir le même format lorsque je montre les données à l'utilisateur.