CKEditor没有显示

时间:2012-10-07 14:55:22

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

我正在尝试将CKEditor集成到MVC应用程序中。据我所知,我真正需要做的就是。

将以下内容添加到我的母版页。

<script type="text/javascript" src="../../ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="../../ckeditor/adapters/jquery.js"></script>
<script type="text/jscript" src="../../Scripts/jquery-1.3.2.js"></script>

然后就我的观点而言。我有以下代码:

<script type="text/javascript">        
    $(document).ready(function() { $('#news').ckeditor(); });
</script>

<fieldset>
    <legend>Fields</legend>
        <p>
            <label for="title">Title:</label>
            <%=Html.TextBox("title")%>
            <%= Html.ValidationMessage("title", "*") %>
        </p>
        <p>
            <label for="news">News:</label>
            <%=Html.TextArea("news")%>
            <%= Html.ValidationMessage("news", "*") %>
        </p>
        <p>
            <label for="publishedDate">Publication Date:</label>
            <%= Html.TextBox("publishedDate") %>
            <%= Html.ValidationMessage("publishedDate", "*") %>
        </p>
        <p>
            <input type="submit" value="Create" />
        </p>
</fieldset>

请记住,我并不是想让这个实际做任何事后反馈。只是为了实际渲染到第一位。有人能指出我做错了什么吗?

哦,如果它有助于任何VS也给我以下警告:

  

警告1更新JScript IntelliSense时出错:..切断保护   无辜.. \ ckeditor \ ckeditor.js:'getFirst()'为null或不是对象   @ 15:180 ..切割保护   无辜.. \ Views \ Shared \ Admin.Master 1 1 ilaTraining

3 个答案:

答案 0 :(得分:1)

使用行$('.test').ckeditor();,您尝试将ckeditor应用于具有css类.test的元素。但在您看来,没有任何输入具有此类。

假设您想将TextArea变成ckeditor,那么您需要使用this overload添加课程:

<%= Html.TextArea("news", new { @class = ".test" }) %>

或者您也可以通过ID“news”引用TextArea(因为这是您使用表达式Html.TextArea("news")为您的输入提供的ID)。所以下面的代码也应该有效:

$('#news').ckeditor();

因为您正在尝试使用ckeditor 的jQuery适配器,所以必须确保在加载jQuery后加载ckeditor 。所以脚本的正确顺序包括:

<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-1.3.2.js %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/ckeditor/ckeditor.js %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/ckeditor/adapters/jquery.js %>"></script>

作为旁注:在使用ASP.NET MVC时,如果包含脚本或css,则应使用Url.Content帮助程序。

答案 1 :(得分:0)

如果您按ID引用元素,则应使用#,例如$('#news').ckeditor();

查看ID SelectorClass Selector的jQuery API的不同之处。

答案 2 :(得分:0)

要注意的一些事项:

尝试不使用jQuery适配器只是为了查看编辑器是否加载。

卸下:

<script type="text/javascript" src="../../ckeditor/adapters/jquery.js"></script>

替换:

<script type="text/javascript">        
    $(document).ready(function() { $('#news').ckeditor(); });
</script>

使用:

<script type="text/javascript">        
    $(document).ready(function() { CKEDITOR.replace( 'news' ); });
</script>

有几个版本的jQuery适配器有bug,可能尝试不同的CKEditor版本?


您可以尝试使用更新版本的jQuery。您正在使用的版本(jquery-1.3.2)于2009年2月发布。它已有3年半的历史。


问题是否出现在所有浏览器中?