3

Visual Studio 2012 で作業していたので、TinyMCE.MVC.JQuery パッケージをダウンロードし、NuGet を使用してインストールしました。ストールしたら、このチュートリアルに従ってセットアップしました。

http://www.tugberkugurlu.com/archive/tinymce-html-text-editior-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>

愚かで申し訳ありませんが、編集ページを実行すると、WYSIWYG エディターは表示されず、標準のテキスト ボックスにすぎません。誰でも私の問題を見ることができますか?

4

2 に答える 2

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 に答える
0

ページの先頭部分で jQuery が参照されていることを確認してください。または、HTML エディターの前の任意の場所。

于 2013-06-28T23:33:51.167 に答える