MVC:Ace编辑post

我目前正在编写CMS系统,我使用ACE语法高亮显示器来突出显示文本框中的一些HTML。

现在,我有一个显示内容的表单:

@Html.TextAreaFor(model => model.Body)

使用以下javacsript激活语法高亮显示器:

  var editor = ace.edit("editor"); editor.setTheme("ace/theme/eclipse"); editor.renderer.setShowGutter(false); editor.getSession().setMode("ace/mode/html");  

但是在我的控制器中,我没有得到hihglighted textarea的内容,这是正常的,因为语法高亮显示器正在生成复杂的HTML。

谁知道如何解决这个问题?

在将数据发布到服务器之前,必须将其分配给隐藏字段或返回文本区域。 这个问题已在StackOverflow上得到解答

@Jan Jongboom使用以下代码在post之前分配ACE编辑器的值:

 <%=Html.HiddenFor(m=>m.Editor, new { @id = "hidden_editor" }) %>   

这是MVC 2标记,但可以很容易地被Razor采用。