解决方法
我们假设你有一个强大的类型模型,其中有一个名为Editor的属性,其中包含数据.现在使用普通的< div>加载数据:
<div id="editor"><%=Model.Editor %></div>
现在,您可以使用javascript创建一个ace编辑器来代替div:
<script src="src/ace.js" type="text/javascript" charset="utf-8"></script> <script> window.onload = function() { var editor = ace.edit("editor"); }; </script>
现在,当您要保存数据时,例如通过表单发布,使用这样的方式将其绑定回模型的编辑器属性:
<%=Html.HiddenFor(m=>m.Editor,new { @id = "hidden_editor" }) %> <!-- this is jQuery,but you can use any JS framework for this --> <script> $("form").submit(function () { $("#hidden_editor").val(editor.getSession().getValue()); }); </script>
在控制器中,您可以将数据保存到数据库
[HttpPost] public ActionResult Index (IndexModel model) { var data = model.Editor; // save data in database }