3

因此,在 Visual Studio 2012 中工作时,我下载了 TinyMCE.MVC.JQuery 包并使用 NuGet 安装它。安装后,我按照本教程进行设置:

http://www.tugberkugurlu.com/archive/tinymce-html-text-editor-and-asp-net-mvc-setting-it-up-has-become-easy-with-nuget

我的项目是 MVC3 并且已经存在,所以有轻微的改动。

这是我的控制器创建功能:

 //
    // GET: /Pages/Create

    public ActionResult Create()
    {
        return View();
    } 

    //
    // POST: /Pages/Create

    [HttpPost, ActionName("Create")]
    public ActionResult Create(Database_Table database_table)
    {
        if (ModelState.IsValid)
        {
            db.Database_Table.Add(database_table);
            db.SaveChanges();
            return RedirectToAction("Index");  
        }

        return View(database_table);
    }

我的编辑:

  //
    // GET: /Pages/Edit/5

    public ActionResult Edit(int id)
    {
        Database_Table database_table = db.Database_Table.Find(id);
        return View(database_table);
    }

    //
    // POST: /Pages/Edit/5

    [HttpPost, ActionName("Edit")]
    public ActionResult Edit(Database_Table database_table)
    {
        if (ModelState.IsValid)
        {
            db.Entry(database_table).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(database_table);
    }

这是我的模型类:

public class Pages
{
    public int PageID { get; set; }
    public string PageURL { get; set; }

    [UIHint("tinymce_jquery_full"), AllowHtml]
    public string PageHTML { get; set; }


    public class DatabaseContext : DbContext
    {
        public DbSet<Database_Table> Pages { get; set; }
    }
}

这是编辑视图:

@using (Html.BeginForm()) {


@Html.ValidationSummary(true)
<fieldset>
    <legend>Pages</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.PageURL)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.PageURL)
        @Html.ValidationMessageFor(model => model.PageURL)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.PageHTML)
    </div>
    <div class="editor-field">
         @Html.EditorFor(model => model.PageHTML)
        @Html.ValidationMessageFor(model => model.PageHTML)
    </div>



    <p>
        <input type="submit" value="Save" />
    </p>

_Layout.cshtml 中引用了这两个:

<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/tinymce/jquery.tinymce.js")" type="text/javascript"></script>

抱歉,如果我很愚蠢,但是当我运行编辑页面时,所见即所得编辑器不显示,它只是一个标准文本框。谁能看到我的问题?

4

2 回答 2

0

确保您在页面的头部引用了 jQuery。或者在您的 HTML 编辑器之前的任何地方。

于 2013-06-28T23:33:51.167 回答
0

你在你看来错过了这个:

tinyMCE.init({

所以:

<script type="text/javascript" src="/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
        // General options

....

或者,如果您使用的是 Jquery 插件,则需要这个(在您看来):

<!-- Load jQuery build -->
<script type="text/javascript" src="../js/tinymce/jscripts/tiny_mce/jquery.tinymce.js"></script>
<script type="text/javascript">
        $(function() {
                $('textarea.tinymce').tinymce({
                        // Location of TinyMCE script
                        script_url : '../js/tinymce/jscripts/tiny_mce/tiny_mce.js',

                        // General options

*记住:你的 textarea 标签需要 'tinymce' 类 =>

<textarea id="content" name="content" class="tinymce" style="width:100%">
</textarea>

在他们的网站上查看示例。

于 2013-01-11T13:46:10.077 回答