我是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 :)写一些东西
答案 0 :(得分:0)
我自己终于解决了这个问题。在将数据发送到ajax部分之前的控制器之前,我使用了encodeURIComponent
函数。
var markupStr = encodeURIComponent($("#smrntContent").summernote('code'));