C# 在C MVC 4中安装TinyMce编辑器-Visual Studio 2012
始终获取此错误: get:0x800a01b6-JavaScript运行时错误:对象不支持属性或方法“tinymce” By numget:PM>安装程序包TinyMCE.MVC.JQuery最新版本 模型类:C# 在C MVC 4中安装TinyMce编辑器-Visual Studio 2012,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,始终获取此错误: get:0x800a01b6-JavaScript运行时错误:对象不支持属性或方法“tinymce” By numget:PM>安装程序包TinyMCE.MVC.JQuery最新版本 模型类: using System.Web.Mvc; using System.ComponentModel.DataAnnotations; namespace Familytree.Models { public class TinyMCEModelJQuery { [A
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();
}
}
}
视图:
共享文件夹和编辑器模板下的tinymce\u jquery\u 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
你的局部观点应该是这样的
<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 */
)
或者将主题改为advanced,不管怎样,当我在做这个的时候,我用了这个,它工作得很好。您只需在模型中的字符串定义之前添加[UIHintInymce\u jquery\u full]。我认为不需要控制器TinyMCESampleJQueryController
希望这有帮助你可以试试这个,别无选择 视图模型 手稿 JS 它正在工作,不需要编写任何其他代码,只需在model和tinymce脚本中使用类名即可
<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 */
)
@Html.TextAreaFor(c => c.ColumnName, new { @class = "tinyEditor", @autocomplete = "off" })
<script type="text/javascript">
tinymce.init({
selector: ".tinyEditor",
theme: "modern",
menubar: false,
width: 400,
height: 100,
plugins: [
"advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker",
"searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
"save table contextmenu directionality emoticons template paste textcolor"
],
content_css: "/Areas/Admin/Content/lang/en/assets/css/style.css",
toolbar: "styleselect | bold italic | bullist numlist outdent indent",
style_formats: [
{ title: 'Bold text', inline: 'b' },
{ title: 'Red text', inline: 'span', styles: { color: '#ff0000' } },
{ title: 'Red header', block: 'h1', styles: { color: '#ff0000' } },
{ title: 'Example 1', inline: 'span', classes: 'example1' },
{ title: 'Example 2', inline: 'span', classes: 'example2' },
{ title: 'Table styles' },
{ title: 'Table row 1', selector: 'tr', classes: 'tablerow1' }
]
});