在 mvc 中,使用 summernote 编辑器,我想将内容为字符串和 html 的数据发送到控制器
in mvc, using summernote editor, i wanna send data which contents string and html to controller
我是 MVC 的初学者,所以有些地方我做不到。 Summernote Editor是用来写博客的,Ajax是用来post的。在此编辑器中写入一些字符后,smmernote 编辑器中的此 html 数据和其他字符串数据必须 post 与 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 部分
为(数据类型:) 写点东西
我终于自己解决了这个问题。在将数据发送到 ajax 部分之前的控制器之前,我使用了 encodeURIComponent
函数。
var markupStr = encodeURIComponent($("#smrntContent").summernote('code'));
我是 MVC 的初学者,所以有些地方我做不到。 Summernote Editor是用来写博客的,Ajax是用来post的。在此编辑器中写入一些字符后,smmernote 编辑器中的此 html 数据和其他字符串数据必须 post 与 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 部分
为(数据类型:) 写点东西我终于自己解决了这个问题。在将数据发送到 ajax 部分之前的控制器之前,我使用了 encodeURIComponent
函数。
var markupStr = encodeURIComponent($("#smrntContent").summernote('code'));