Pergunta

Eu uso o CKEditor para inserir descrições de rich text em diferentes visualizações.Minhas tags do ckeditor se parecem

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

Deixe-me anotar os problemas que estou enfrentando:

  • Mesmo que minha barra de ferramentas seja básica, estou recebendo uma barra de ferramentas completa para o editor.
  • Na visualização de edição, a descrição deve estar no ckeditor como seu texto.Como isso pode ser feito.A caixa de texto para o nome da instrução é fornecida como <%=Html.TextBoxFor(m => m.InstructionName, new { @class="formstyle"} )%> que mostra o InstructionName na visualização de edição.O que funciona bem.Quero o mesmo com o InstructionDesc, que é um ckeditor.

tentei

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

mas isso está gerando um erro:

Ocorreu um erro durante a análise de um recurso necessário para atender esta solicitação.Revise os detalhes específicos do erro de análise a seguir e modifique seu arquivo de origem adequadamente.

Mensagem de erro do analisador:Tags de servidor não podem conter <% ... %> construções.

Por favor me ajude a resolver esses problemas.Desde já, obrigado.

Foi útil?

Solução

Você provavelmente precisará deixar de usar o controle de estilo asp.net e criar uma área de texto manualmente ou por meio de um auxiliar HTML.Importamos o javascript CKEditor no cabeçalho de nossa página mestra e depois o seguinte na visualização quando o CKEditor é usado:

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

Isso deve converter a área de texto em uma instância do CKEditor.O nome dentro da substituição precisará corresponder ao ID da área de texto.

Outras dicas

você tem certeza de que esse controle pode ser usado com ASP.NET MVC?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top