ViewModel обнуляется в контроллере, когда данные отправляются через ajax - PullRequest
0 голосов
/ 13 февраля 2019

Я отправляю данные через 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 вместо редактора иглы, и теперь я публикую все данные с помощью формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...