【问题标题】:TinyMCE content blank on MVC Post ActionMVC Post Action 上的 TinyMCE 内容为空白
【发布时间】:2010-10-31 07:18:40
【问题描述】:

我有一个标准表单,其中包含一个调用 tinymce 的文本框。一切都很好,但是当我发布到我的操作时,该字段的 FormCollection 是空白的。我已将 ValidateInput 设置为 false 以防万一,但仍为空白。我相信这个问题是因为我使用 jQuery Form 插件发布。

谢谢

【问题讨论】:

    标签: jquery asp.net-mvc tinymce


    【解决方案1】:

    您必须在发布前告诉 TinyMCE 编辑器将内容保存回文本区域。

     $('#btnSave').click( function(){
            tinyMCE.triggerSave(true,true);
            $('#myform').submit();
        });
    

    【讨论】:

      【解决方案2】:

      triggerSave 解决方案将起作用。我在测试 TinyMCE 4.2.5 时遇到了同样的问题,并发现从 TinyMCE 所针对的 textarea 控件中省略“name”属性也会导致它失败(即,将空值发布到控制器)。只需将“名称”属性添加到 textarea 控件即可修复它,而无需应用 triggerSave 脚本。

      所以 textarea 是从这里开始的:

      <textarea id="mceText"></textarea>
      

      对此,不使用 triggerSave() 函数:

      <textarea id="mceText" name="mceText"></textarea>
      

      也许这会对将来的某人有所帮助。谢谢。

      【讨论】:

      • 我认为这应该是首选的解决方案。向文本区域添加“名称”属性也解决了我的问题(具有空文本值的控制器)。根本不需要触发器或 javascript。
      【解决方案3】:

      我解决了一个解决方法

      将tinymce的内容放在隐藏字段中

      var loquesea= tinyMCE.get('mytiny').getContent();
      
      $("#fieldHidden").val(loquesea);
      

      在控制器中必须写&lt;ValidateInput(False)&gt; 因为控制器接收 html 字符

      &lt;ValidateInput(False)&gt;

      Function saveItem(ByVal KeysCollections As FormCollection) As ActionResult
      
       Dim ID As String = KeysCollections("fieldHidden")
      
      End Function
      

      【讨论】:

        猜你喜欢
        • 2011-06-13
        • 2012-10-07
        • 1970-01-01
        • 2013-12-19
        • 1970-01-01
        • 2011-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多