在之前的一个问题中,有人向我指出TinyMCE是一个不错的免费WYSIWYG编辑器.从那时起,最简单的部分就是下载资源,并在ASP.NET MVC示例页面上显示一个编辑器.然而,我还没有能够使它工作(即使在网上冲浪 - 即使在TinyMCE的网站上,我没有看到第一次用户的任何东西).
好吧,也许最重要的是要知道这个东西应该如何工作.例如,我在TextArea所在的同一个Html.BeginForm中放置了一个按钮.但是当我点击它时,没有发生回发事件.所以,这是我的问题:
编辑背后的概念是什么?
如何发布内容?(使用按钮,链接???)
如何收到我的操作方法中发布的值?(使用本地字符串变量 - (模型绑定?))
我应该期待什么?(文本,HTML片段,两者???)
如果有人可以为我提供资源,那就太好了.但是,就目前而言,我想知道这是如何运作的.
谢谢你的帮助.
TinyMCE采用标准元素并使用JavaScript将其转换为富文本编辑器.因此,在ASP.NET MVC视图中,您只需以正常方式创建textarea,例如
<% Html.TextAreaFor(m => m.Description) %>
当TinyMCE将其转换为textarea时,它仍将在textarea元素上保持相同的id和name属性:
所以模型绑定应该继续正常工作,它是上面代码示例中的name属性,当你发布时提交,TinyMCE不会改变它,所以你的POST数据看起来像:( Hello worldDescription=
表单POST数据只是名字/由&sersands分隔的价值对).
所以在你的Controller Action中:
[HttpPost] public ActionResult SaveProduct(Product product) { string description = product.Description; // Save Product to database (snip) }
'description'变量将包含TinyMCE的原始HTML标记.所以这一切都应该正常工作,不知道为什么不是.您可以验证表单是否已设置并正常发布,例如.通过删除TinyMCE并只有一个标准的textarea.
另外,你有没有