asp.net-mvc - TinyMCE 应该如何在 ASP.NET MVC 页面上工作?

标签 asp.net-mvc tinymce

在上一个问题中,有人向我指出 TinyMCE 是一款不错且免费的所见即所得编辑器。从那时起,最简单的部分就是下载资源并在 ASP.NET MVC 示例页面上显示一个编辑器。但是,我还不能让它工作(即使在网上冲浪之后——即使在 TinyMCE 的网站上,我也没有看到任何第一次使用的用户)。

好吧,也许重点是要知道这件事应该如何工作。例如,我在 TextArea 所在的同一个 Html.BeginForm 中放置了一个按钮。但是当我点击它时,没有回发发生。 所以,这是我的问题:

编辑器背后的概念是什么?

  • 我如何让它发布内容? (使用按钮,链接???)
  • 如何接收在我的操作方法中发布的值? (使用本地字符串变量 - (模型绑定(bind)?))
  • 我应该期待什么? (文本,HTML 片段,两者都有???)

  • 如果有人可以为我提供这方面的资源,那就太好了。但是,现在,我想知道它是如何工作的。

    感谢您的帮助。

    最佳答案

    TinyMCE 采用标准 <textarea>元素并使用 JavaScript 将其转换为富文本编辑器。因此,在您的 ASP.NET MVC View 中,您只需以正常方式创建一个文本区域,例如

    <% Html.TextAreaFor(m => m.Description) %>
    

    当 TinyMCE 将其转换为 textarea 时,它仍会在您的 textarea 元素上保持相同的 id 和 name 属性:
    <textarea id="Description" name="Description"></textarea>
    

    所以模型绑定(bind)应该继续正常工作,它是上面代码示例中的 name 属性在您发布时被提交,TinyMCE 不会改变它,所以您的 POST 数据看起来像:Description=<p>Hello world</p>&MyButton=Submit (表单 POST 数据只是由 &sersands 分隔的名称/值对)。

    所以在你的 Controller Action 中:
    [HttpPost]
    public ActionResult SaveProduct(Product product)
    {
        string description = product.Description;
    
        // Save Product to database (snip)
    }
    

    'description' 变量将包含来自 TinyMCE 的原始 HTML 标记。所以这一切都应该正常工作,不知道为什么不是。您能否验证表单是否已正常设置和发布,例如。通过删除 TinyMCE 并只拥有一个标准的文本区域。

    此外,您没有使用 <asp:TinyMCE WebForms 控制有没有机会?

    关于asp.net-mvc - TinyMCE 应该如何在 ASP.NET MVC 页面上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3117811/

    相关文章:

    php - TinyMCE:经验、选择

    asp.net-mvc - FormsAuthentication.SetAuthCookie 与 FormsAuthentication.Encrypt

    asp.net-mvc - 对ASP.NET MVC4中的一个提交按钮禁用客户端验证

    asp.net mvc RC1 中的 JavaScriptResult

    c# - 何时在 MVC4 中使用包

    javascript - 在 Script.RenderFormat 中使用 join

    jquery - TinyMCE 和 jQuery - attr() 返回一个对象

    javascript - 您可以在 TinyMCE 4.x 编辑器上切换只读吗

    javascript - 在tinyMCE问题中单击自定义按钮后保留选择