1

常に次のエラーが発生します。

get: 0x800a01b6 - JavaScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'tinymce' をサポートしていません

Nuget による: PM> Install-Package TinyMCE.MVC.JQuery 最新バージョン

モデル クラス:

using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;

namespace Familytree.Models {

  public class TinyMCEModelJQuery {

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

コントローラ:

using System.Web.Mvc;
namespace Familytree.Controllers {

public class TinyMCESampleJQueryController : Controller {
    //
    // GET: /TinyMCESampleJQuery/
    [ValidateInput(false)]
    public ActionResult Index() {

        return View();

    }
  }
}

意見:

 @model Familytree.Models.TinyMCEModelJQuery

 <h2>Index</h2>

 @using (Html.BeginForm())
 {
    <fieldset>
    <legend>TinyMCEModel</legend>

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

        @Html.EditorFor(model => model.Content)
        @Html.ValidationMessageFor(model => model.Content)
    </div>

    <p>
        <input type="submit" value="Create" />
    </p>
    </fieldset>
 }

共有フォルダーとエディター テンプレートの下の tinymce_jquery_full

@*
Don't forget to reference the JQuery Library here, inside your view or layout.
<script src="@Url.Content("~/Scripts/jquery-x.x.x.min.js")" type="text/javascript"></script>
*@

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

<script type="text/javascript">

    (function(){ 

      $(function() { 

          $('#@ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)').tinymce({

            // Location of TinyMCE script
            script_url: '@Url.Content("~/Scripts/tinymce/tiny_mce.js")',
            theme: "advanced",

            height: "500",
            width: "790",
            verify_html : false,
            plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave",

            // Theme options
            theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
            theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
            theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
            theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,codehighlighting,netadvimage",
            theme_advanced_toolbar_location : "top",
            theme_advanced_toolbar_align : "left",
            theme_advanced_statusbar_location : "bottom",
            theme_advanced_resizing : false,

            // Example content CSS (should be your site CSS)
            content_css : "@Url.Content("~/Scripts/tinymce/css/content.css")",
            convert_urls : false,

            // Drop lists for link/image/media/template dialogs
            template_external_list_url : "lists/template_list.js",
            external_link_list_url : "lists/link_list.js",
            external_image_list_url : "lists/image_list.js",
            media_external_list_url : "lists/media_list.js"

        });

      });

    })();

</script>

@Html.TextArea(string.Empty, /* Name suffix */
    ViewData.TemplateInfo.FormattedModelValue /* Initial value */
)

Do I change this last line to
@Html.EditorFor(string.Empty, /* Name suffix */
    ViewData.TemplateInfo.FormattedModelValue /* Initial value */
)
Using EditorFor in the Index view
4

2 に答える 2

0

部分的なビューは次のようになります

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

<script type="text/javascript">
    (function () {
        tinyMCE.init({
            mode: "exact",
            elements: "@ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)",
            theme: "simple",
            height: "300",
            width: "400",
            verify_html: false,
            theme_simple_resizing: true,
            content_css: "@Url.Content("~/Content/Site.css")",
            convert_urls: false
        })
    })();
</script>

@Html.TextArea(string.Empty, /* Name suffix */
    ViewData.TemplateInfo.FormattedModelValue /* Initial value */
)

または、テーマを高度に変更します。とにかく、これを行っていたときに、このhttps://www.nuget.org/packages/TinyMCEを使用しましたが、正常に機能していました。[UIHint("tinymce_jquery_full")]モデルの文字列定義の前に追加するだけです。コントローラーの必要性がわからないTinyMCESampleJQueryController

お役に立てれば

于 2013-11-22T17:29:37.110 に答える