ASP.NET MVC实现layui富文本编辑器应用

  先看看视图层
  在视图层,使用的是视图助手--HtmlHelper,代替我们网页中传统的表单标签元素,其中的m代表实体模型。通过视图助手,为我们生成id和name属性相同的textarea标签。
 
  备注:
 
  在ASP.NETMVC中,能提交表单数据的元素(各种类型的input标签,textarea等),其属性name的值于实体模型中的属性名相同时,传递到控制器中的实体模型或参数,会自动进行映射,方便前端到后台的数据传递。
 
  1<divclass="layui-row">
 
  2<divclass="layui-col-xs12">
 
  3<divclass="layui-form-itemlayui-form-text">
 
  4@Html.LabelFor(m=>m.Introduce,new{@class="layui-form-label"})
 
  5<divclass="layui-input-block">
 
  6@Html.TextAreaFor(m=>m.Introduce)@*<textareaid="Introduce"name="Introduce"></textarea>等同*@
 
  7</div>
 
  8</div>
 
  9</div>
 
  10</div>
 
  js调用layui的富文本编辑器:
 
  1<scripttype="text/javascript">
 
  2layui.use('layedit',
 
  3function(){
 
  4varlayedit=layui.layedit;
 
  5//配置图片接口
 
  6//注意:layedit.set一定要放在build前面,否则配置全局接口将无效。
 
  7layedit.set({
 
  8uploadImage:{
 
  9url:'/Course/UploadEditImg'//接口url
 
  10,type:'post'//默认post
 
  11}
 
  12});
 
  13//建立富文本编辑器,更多设置,看layui文档,这里只是核心要点
 
  14layedit.build('Introduce');//build方法参数为id所对应的值,注意,此处不能加#符号!
 
  15}
 
  16
 
  17</script>
 
  以上是前端部分,要想实现在layui富文本编辑器中显示图片,看如下后台代码:
 
  实体结果类.layui的接受的值不支持大写,所以属性全小写,这是根据layui,edit图片上传返回结果来编写的此结果类。
 
  1usingSystem.Collections.Generic;
 
  2
 
  3namespaceLayuiMvc.Common.Result
 
  4{
 
  5publicclassEditorDataResult
 
  6{
 
  7publicintcode{get;set;}
 
  8
 
  9publicstringmsg{get;set;}
 
  10
 
  11publicDictionary<string,string>data{get;set;}
 
  12}
 
  13}
 
  控制器如下:
 
  要引用的命名空间没展示,只抽取了有关富文本的内容!
 
  1//富文本编辑器图片上传
 
  2publicActionResultUploadEditImg(HttpPostedFileBasefile)
 
  3{
 
  4EditorDataResulteditorResult=newEditorDataResult();
 
  5if(file!=null&&!string.IsNullOrEmpty(file.FileName))
 
  6{
 
  7stringsaveAbsolutePath=Server.MapPath("~/CourseImages/EditorImages");
 
  8stringsaveFileName=Guid.NewGuid().ToString("N")+"_"+file.FileName;
 
  9stringfileName=Path.Combine(saveAbsolutePath,saveFileName);
 
  10file.SaveAs(fileName);
 
  11editorResult.code=0;
 
  12editorResult.msg="图片上传成功!";
 
  13editorResult.data=newDictionary<string,string>()
 
  14{
 
  15{"src","/CourseImages/EditorImages/"+saveFileName},
 
  16{"title","图片名称"}
 
  17};
 
  18}
 
  19else
 
  20{
 
  21editorResult.code=1;
 
  22editorResult.msg="图片上传失败!";
 
  23editorResult.data=newDictionary<string,string>()
 
  24{
 
  25{"src",""}
 
  26};
 
  27}
 
  28JavaScriptSerializerjss=newJavaScriptSerializer();
 
  29stringdata=jss.Serialize(editorResult);//转换为Json格式!
 
  30
 
  31returnJson(data);
 
  32}

推荐阅读