.net核心MVC模型属性类型datetime无法在AJAX发布请求中绑定

时间:2019-06-06 14:33:26

标签: asp.net-core asp.net-core-mvc asp.net-core-2.1

我有一个模型,其属性类型为DateTime。当我发送AJAX发布请求时,控制器表示modelstats无效。因为它无法解析日期时间。我以“ dd / mm / yyyy”格式发送日期时间。我已经设置了区域性,并且我的aspnet.core项目给出了正确的格式。另外,当我使用剃刀形式张贴到具有相同的datetime格式时。它说modelstate是有效的。

这是我尝试通过的日期格式: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 :(得分:0)

检查以“ #EndDate”作为ID的IF元素是否包含名称属性,例如name =“ PublishTo”?