Тип свойства .net core mvc тип datetime не может быть привязан в AJAX Post request - PullRequest
0 голосов
/ 06 июня 2019

У меня есть модель со свойством типа DateTime. Когда я отправляю пост-запрос AJAX, контроллер говорит, что данные моделей недействительны. Потому что он не может разобрать дату и время. Я отправляю дату и время в этом формате "дд / мм / гггг". Я уже установил культуру, и мой проект aspnet.core выдает правильный формат. Кроме того, когда я публикую сообщения, используя форму бритвы в том же формате даты и времени. Это говорит, что состояние модели является действительным.

Это формат даты, который я пытаюсь передать: 23/06/2019

Моя модель:

public class Article
    {
        public Guid ArticleID { get; set; }
        public int ArticleRecordId { get; set; }
        public string ArticleMainBackGround { get; set; }
        public string ArticleMainBanner { get; set; }
        public string MainTitle { get; set; }
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
        public DateTime? PublishFrom { get; set; }
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
        public DateTime? PublishTo { get; set; }
        public int OrderSquence { get; set; }
    }

мой почтовый запрос ajax

var payload = {
        ArticleRecordId : 0,
        ArticleMainBackGround: $("#ArticleMainBackGround").val(),
        ArticleMainBanner: $("#ArticleMainBanner").val(),
        MainTitle: $("#MainTitle").val(),
        PublishFrom: $("#StartDate").val() ,
        PublishTo: $("#EndDate").val() ,
        //OrderSquence: $("#OrderSquence").val(),
        IsEnabled: $("#IsEnabled").val(),
        ArticleSections: articleSection
    };
    console.log(payload);

    $.ajax(
        {
            type: 'POST',
            url: '/Article/AddArticle',
            contentType: 'application/json',
            data: JSON.stringify(payload),
            success: function (result) {
                console.log(result);
            },
            failed: function () {
            }
        }
    );

1 Ответ

0 голосов
/ 07 июня 2019

Проверьте, что если элемент IF, имеющий "#EndDate" в качестве идентификатора, содержит свойство name, например name = "PublishTo"?

...