Asp.net mvc 错误-在数据库中插入日期时间;SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM”之间;

Asp.net mvc 错误-在数据库中插入日期时间;SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM”之间;,asp.net-mvc,Asp.net Mvc,我使用的是MVC 5,在将日期存储到数据库中时遇到问题,当我尝试创建博客,然后按下按钮将数据插入数据库时,我会出现以下错误: SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM之间 模型中的代码: [Display(Name = "Date")] [DataType(DataType.DateTime)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyF

我使用的是MVC 5,在将日期存储到数据库中时遇到问题,当我尝试创建博客,然后按下按钮将数据插入数据库时,我会出现以下错误:

SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM之间

模型中的代码:

 [Display(Name = "Date")]
 [DataType(DataType.DateTime)]
 [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
 public DateTime Date { get; set; }
视图中的代码:

@{
    ViewBag.Title = "CreateBlog";
}

<h2>Create Blog</h2>

<form action="/Blog/CreateBlog/" name="myForm" method="post">

    Title: <input type="text" name="Overskrift" />
    <br />
    <br />
    text: <input type="text" name="Tekst" />
    <br />
    <br />
    Date: <input type="datetime" name="date" />
    <br />
    <br />
    <input type="submit" value="Create" />
    @ViewBag.MSG

</form>
@{
ViewBag.Title=“CreateBlog”;
}
创建博客
标题:


正文:

日期:

@ViewBag.MSG
有人能给我指一下正确的方向吗?

试试这个

[Required(ErrorMessage = "Adding date Cannot BE Empty")]
[DataType(DataType.Date, ErrorMessage = "Invalid Date")]
[Range(typeof(DateTime), "1/2/1800", "3/4/9000", ErrorMessage = "Value for {0} must be between {1} and {2}")]
[Display(Name = "Adding Date")]
public DateTime Date { get; set; }
或者更换这个

public DateTime Date { get; set; }
用这个

public DateTime Date 
{
   get
   {
      return this.dates.HasValue
         ? this.dates.Value
         : DateTime.Now;
   }

   set { this.dates= value; }
}
private DateTime? dates= null;

必须确保初始化日期对象。否则,它将采用SQL Server日期列中允许的日期范围之外的默认值

如果这是博客创建日期,则必须将其从UI HTML中删除,并使用以下代码在控制器中进行设置:

b.Date = DateTime.Now;

共享您的控制器code@Suprajv:public class BlogController:Controller{BlogFac bf=new BlogFac();//Vis eller Get All Blog public ActionResult VisBlog(){return View(bf.GetAll());}public ActionResult CreateBlog(){return View();}[HttpPost]public ActionResult CreateBlog(Blog b){bf.Insert(b);ViewBag.MSG=“Blog is createdt”;return View();}如果未将正确的日期插入MSSQL数据库,则会出现此错误。可能是datetime未从视图传递到控制器。我不这么认为,它们可以相互传递数据