在ASP.NET MVC 2中集成CKEditor?

时间:2010-10-22 11:13:10

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

我想在我的ASP.NET MVC 2应用程序中使用CKEditor作为注释字段,但无法使其工作。这就是我所拥有的:

我试图整合编辑器的textarea:

    <div class="editor-field">
        <%: Html.TextAreaFor(model => model.Comment, new { @class = "textarea", @id="Editor1" })%>
        <%: Html.ValidationMessageFor(model => model.Comment) %>
    </div>

头部中的脚本引用:

<asp:Content ID="Content3" ContentPlaceHolderID="head" runat="server">
    <script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="../../Scripts/ckeditor/ckeditor.js" type="text/javascript"></script>
    <script src="../../Scripts/ckeditor/adapters/jquery.js" type="text/javascript"></script>
</asp:Content>

文档就绪功能:

<% using (Html.BeginForm())
   {%>
   <script type="text/javascript">
       $(document).ready(function () {
           $('#Editor1').ckeditor();
       });
   </script>

(等) 我不知道问题是否与TextareaFor辅助方法有关,我尝试将id设置为Editor1。我对MVC也很陌生,所以我猜这是怎么做的。

无论如何,它不起作用,我希望有任何关于我做错的建议。

2 个答案:

答案 0 :(得分:1)

好的,我自己找到了答案。看来在同一页面上与另一个jQuery插件存在冲突,所以我需要使用jQuery.noConflict();然后在代码中使用jQuery而不是$。 noConflict的位置也很重要。请参阅此网页上的erhard评论:http://devoracles.com/jquery-error-documentready-is-not-a-function-sure

答案 1 :(得分:0)

首先检查$('#Editor1')是否返回了您想要的元素。

alert($('#Editor1').length);
alert($('#Editor1')[0].id);

如果没有,请尝试使用类选择器,例如$('.ckeditor')