Question

J'utilise CKEditor pour entrer des descriptions de texte riches dans différentes vues. Mes tags ckeditor ressemblent

<ckeditor:ckeditorcontrol id="CKEditor1" runat="server" toolbar="Basic" />

Permettez-moi de noter les problèmes auxquels je suis confronté:

  • Même si ma barre d'outils est de base, la barre d'outils d'options complète pour l'éditeur.
  • En modification, la description doit être là dans le ckeditor comme texte. Comment cela peut-il être fait. La zone de texte pour le nom d'instruction est donnée comme <%=Html.TextBoxFor(m => m.InstructionName, new { @class="formstyle"} )%> qui montre le nom d'instructions dans la vue d'édition. Ce qui fonctionne bien. Je veux la même chose avec InstructionDESC qui est un ckeditor.

j'ai essayé

<CKEditor:CKEditorControl ID="CKEditor1" runat="server" Toolbar="Basic" name="docDesc" Text=<%=Model.DocDesc %> />

Mais c'est une erreur de lancement:

Une erreur s'est produite lors de l'analyse d'une ressource requise pour répondre à cette demande. Veuillez consulter les détails d'erreur d'analyse spécifiques suivants et modifier votre fichier source de manière appropriée.

Message d'erreur de l'analyseur: les balises du serveur ne peuvent pas contenir <% ... %> Constructions.

Aidez-moi à résoudre ces problèmes. Merci d'avance.

Était-ce utile?

La solution

Vous devrez probablement vous éloigner de l'utilisation du contrôle de style ASP.NET et créer une zone de texte manuellement ou via une aide HTML. Nous importons le JavaScript CKEditor dans la tête de notre page maître, puis ce qui suit dans la vue lorsque Ckeditor est utilisé:

<%= Html.TextAreaFor(m=>m.InstructionDesc) %>
<script type="text/javascript">CKEDITOR.replace('InstructionDesc');</script>

Cela devrait convertir la zone de texte en instance ckeditor. Le nom à l'intérieur du remplacement devra correspondre à l'ID de la zone de texte.

Autres conseils

Êtes-vous sûr que ce contrôle peut être utilisé avec ASP.NET MVC?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top