【问题标题】:Issues with using CKEditor in ASP.NET MVC在 ASP.NET MVC 中使用 CKEditor 的问题
【发布时间】:2011-03-29 18:30:17
【问题描述】:

我使用 CKEditor 在不同的视图中输入富文本描述。我的 ckeditor 标签看起来像

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

让我记下面临的问题:

  • 尽管我的工具栏是基本工具栏,但我正在为编辑器获得完整的选项工具栏。
  • 在编辑视图中,描述将作为文本出现在 ckeditor 中。如何才能做到这一点。指令名称的文本框为&lt;%=Html.TextBoxFor(m =&gt; m.InstructionName, new { @class="formstyle"} )%&gt;,它在编辑视图中显示指令名称。哪个工作正常。我希望与作为 ckeditor 的 InstructionDesc 相同。

我试过了

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

但这是抛出错误:

解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当地修改您的源文件。

解析器错误消息:服务器标签不能包含&lt;% ... %&gt; 构造。

请帮我解决这些问题。提前致谢。

【问题讨论】:

    标签: .net asp.net asp.net-mvc-2 ckeditor.net


    【解决方案1】:

    您可能需要放弃使用 asp.net 样式控件并手动或通过 HTML 帮助程序创建文本区域。我们在母版页的头部导入 CKEditor javascript,然后在使用 CKEditor 时在视图中导入以下内容:

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

    这应该将文本区域转换为 CKEditor 实例。替换中的名称需要与文本区域的 ID 匹配。

    【讨论】:

    • 谢谢安迪,它看起来是我正在等待的解决方案。我可以将描述带入编辑模式。我还需要知道如何让编辑器保留基本工具栏??
    • Suja,要修复危险的 Request.Form 问题,请将 [ValidateInput(false)] 属性放在您提交表单的控制操作上。如果您正在运行 .net 4,您还必须将 放入您的 web.config。
    • 如果您希望在整个应用程序中使用基本工具栏集,您应该能够设置此 CKEditor 配置文件。
    【解决方案2】:

    您确定此控件可以与 ASP.NET MVC 一起使用吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      相关资源
      最近更新 更多