2010-10-22 76 views
4

我想在我的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> 

(等等......) 我不知道问题是否与TextareaF或帮助者方法,我试图将id设置为Editor1。我对MVC也很新,所以我猜想这是如何去做的。

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

+0

您是否收到任何javascript错误? – Aristos 2010-10-22 13:00:53

+0

是的,请参阅下面的评论... – Anders 2010-10-23 21:15:28

回答

1

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

+0

该评论不再可访问。它以前如何? – 2012-07-26 12:00:48

0

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

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

如果不行,请尝试使用类选择,而不是像$('.ckeditor')

+0

是的。但是当我在Chrome中检查调试器时,出现错误消息“Uncaught TypeError:Object# has no method'ckeditor'”。我是jQuery的新手,所以我不知道我在这里做错了什么。 – Anders 2010-10-23 20:47:14