Probleme bei der Verwendung von CKEditor in ASP.NET MVC
-
14-11-2019 - |
Frage
Ich verwende CKEditor, um Rich-Text-Beschreibungen in verschiedenen Ansichten einzugeben.Meine ckeditor-Tags sehen so aus
<ckeditor:ckeditorcontrol id="CKEditor1" runat="server" toolbar="Basic" />
Lassen Sie mich die Probleme notieren, mit denen ich konfrontiert bin:
- Obwohl meine Symbolleiste einfach ist, erhalte ich eine Symbolleiste mit vollständigen Optionen für den Editor.
- In der Bearbeitungsansicht soll die Beschreibung als Text im Editor vorhanden sein.Wie kann das gemacht werden?Das Textfeld für den Anweisungsnamen lautet:
<%=Html.TextBoxFor(m => m.InstructionName, new { @class="formstyle"} )%>
Hier wird der Anweisungsname in der Bearbeitungsansicht angezeigt.Was gut funktioniert.Ich möchte dasselbe mit InstructionDesc, einem Ceditor.
Ich habe es versucht
<CKEditor:CKEditorControl ID="CKEditor1" runat="server" Toolbar="Basic" name="docDesc" Text=<%=Model.DocDesc %> />
aber das ist ein Fehler:
Beim Parsen einer für die Bearbeitung dieser Anfrage erforderlichen Ressource ist ein Fehler aufgetreten.Bitte überprüfen Sie die folgenden spezifischen Analysefehlerdetails und ändern Sie Ihre Quelldatei entsprechend.
Parser-Fehlermeldung:Server-Tags dürfen nicht enthalten <% ... %>
Konstrukte.
Bitte helfen Sie mir, diese Probleme zu lösen.Dank im Voraus.
Lösung
Sie müssen wahrscheinlich von der Verwendung des asp.net-Stilsteuerelements abrücken und einen Textbereich entweder manuell oder über einen HTML-Helfer erstellen.Wir importieren das CKEditor-Javascript im Kopf unserer Masterseite und dann Folgendes in der Ansicht, wenn CKEditor verwendet wird:
<%= Html.TextAreaFor(m=>m.InstructionDesc) %>
<script type="text/javascript">CKEDITOR.replace('InstructionDesc');</script>
Dadurch sollte der Textbereich in eine CKEditor-Instanz umgewandelt werden.Der Name innerhalb der Ersetzung muss mit der ID des Textbereichs übereinstimmen.
Andere Tipps
Sind Sie sicher, dass dieses Steuerelement mit ASP.NET MVC verwendet werden kann?