Я отправляю данные через ajax из моей формы, но они всегда обнуляются.То, что я делаю, это: -
На моем Просмотр страницы : -
<script>
$(document).ready(function () {
$("#blogForm").submit(function (e) {
e.preventDefault();
alert("YOO");
debugger;
var fileInput = $('#authorImage')[0];
var authorImage = fileInput.files[0];
//var blogFile = $("#blogImages")[0];
//var blogImages = blogFile.files[0];
var editor = new Quill('#editor');
var content = editor.getContents();
var BlogData =
{
Title: $(".txttitle").val(),
DestinationId: $("#ddlDesignation").val(),
Category: $("#ddlCategory").val(),
Author: $(".txtauthor").val(),
AuthorDetail: $(".txtauthorDetail").val(),
Date: $(".txtDate").val(),
Contents: content
}
var CreateEditBlogsViewModel =
{
BlogDTO: BlogData
}
var param = JSON.stringify(CreateEditBlogsViewModel);
//doing ajax request
$.ajax({
contentType: "application/json",
method: "POST",
dataType:"JSON",
url: "@Url.Action("Create", "Blog")",
data: param,
success: function () {
alert("success");
},
error: function () {
alert("Error");
}
});
});
});
</script>
На моем контроллере :
[HttpPost]
public IActionResult Create(CreateEditBlogsViewModel BlogDTO,IFormFile authorimage,IFormFile images)
{
if (ModelState.IsValid)
{
_blogservice.Insert(BlogDTO.BlogDTO);
}
//rebinding values
BlogDTO.DestinationSelectList = GetDestinationSelectList();
BlogDTO.BlogCategorySelectList = GetBlogCategorySelectList();
return View();
}
Моя Модель выглядит так:
public class CreateEditBlogsViewModel
{
public BlogsDTO BlogDTO { get; set; }
public List<SelectListItem> DestinationSelectList { get; set; }
public List<SelectListItem> BlogCategorySelectList { get; set; }
}
Я также пытался применить [FromBody] в контроллере, но не повезло.Я также должен опубликовать 2 отдельных изображения, но сначала мне нужны только эти данные, затем я попытаюсь опубликовать изображение.Пожалуйста, помогите.
Редактировать: я решил это с помощью CKEditor вместо редактора иглы, и теперь я публикую все данные с помощью формы.