在mvc中,使用summernote编辑器,我想将内容字符串和html的数据发送到控制器
Posted
技术标签:
【中文标题】在mvc中,使用summernote编辑器,我想将内容字符串和html的数据发送到控制器【英文标题】:in mvc, using summernote editor, i wanna send data which contents string and html to controller 【发布时间】:2017-10-19 22:21:27 【问题描述】:我是 MVC 的初学者,所以有些地方我做不到。 Summernote Editor 用于写博客,Ajax 用于发帖。在此编辑器中写入一些字符后,smmernote 编辑器中的此 html 数据和其他字符串数据必须使用 ajax 发布,但我无法将数据发送到控制器。
HTML 部分
<div class="panel-body">
<form class="form-horizontal" role="form" id="frmCreateBlogEntry">
<div class="form-group">
<label for="txtTitle" class="col-sm-2 control-label">Title</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="txtTitle" placeholder="Enter Title" maxlength="250" required>
</div>
</div>
<div class="form-group">
<label for="txtSubtitle" class="col-sm-2 control-label">subtitle</label>
<div class="col-sm-10">
<textarea class="form-control" name="txtSubtitle" id="txtSubtitle" placeholder="enter subtitle" maxlength="250" required></textarea>
</div>
</div>
<div class="form-group">
<label for="smrntContent" class="col-sm-2 control-label">Blog Entry</label>
<div class="col-sm-10">
<div id="smrntContent" class="form-control summernote" name="smrntContent"></div>
</div>
</div>
<div class="btn-toolbar">
<button id="btnPreview" type="button" class="btn btn-yellow pull-right">preview</button>
<button id="btnSave" type="button" class="btn btn-primary pull-right">save</button>
</div>
</form>
</div>
脚本部分
$(document).ready(function ()
$("#smrntContent").summernote(
"height": 200
);
$("#btnSave").click(function ()
var markupStr = $("#smrntContent").summernote('code');
var createBlogEntry =
Title: $("#txtTitle").val(),
Subtitle: $("#txtTitle").val(),
Content: markupStr
;
$.ajax(
url: "/Yayin/CreateNewBlogEntry",
type: "post",
datatype: "json",
data: createBlogEntry,
success: function (response)
//Başarılı bir şekilde kaydedildi ise
if (response.Success)
else
,
error: function (xhr, status)
);
);
);
控制器部分
public JsonResult CreateNewBlogEntry(BlogEntry createBlogEntry)
try
createBlogEntry.CreatedBy = (SessionManager.ActiveAdmin != null) ? SessionManager.ActiveAdmin.DisplayName : SessionManager.ActiveUser.DisplayName;
createBlogEntry.IsActive = false;
_blogEntryRepo.Insert(createBlogEntry);
_uow.Save();
return Json(new Success = true, Message = ".." );
catch (Exception ex)
return Json(new Success = false, Message = ".." + ex.Message );
我想知道我是否可以在 ajax 部分为 (datatype:) 写一些东西
【问题讨论】:
【参考方案1】:我自己终于解决了这个问题。在将数据发送到 ajax 部分之前的控制器之前,我使用了encodeURIComponent
函数。
var markupStr = encodeURIComponent($("#smrntContent").summernote('code'));
(Reference)
【讨论】:
那你怎么解码呢?在这种情况下,拥有summernote是没有用的。以上是关于在mvc中,使用summernote编辑器,我想将内容字符串和html的数据发送到控制器的主要内容,如果未能解决你的问题,请参考以下文章