【发布时间】:2023-04-06 15:12:02
【问题描述】:
我对编程很陌生。我将 ASP.NET Core 3.0 与 MVC 一起使用。我想知道,如果用户没有输入日期,那么日期就设置为今天
我尝试在模型的构造函数中创建一个 if 语句并将今天的时间设置为默认值
public class Post
{
[DataType(DataType.DateTime)]
public DateTime? ReleaseDate { get; set; } = DateTime.Now;
public Post()
{
if (ReleaseDate == null)
{
ReleaseDate = DateTime.Now;
}
}
}
这是控制器中的 Create 方法
public async Task<IActionResult> Create([Bind("Id,Title,Author,ReleaseDate,ExpirationDate,Content")] Post post)
{
if (ModelState.IsValid)
{
_context.Add(post);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(post);
}
问题是它不起作用,反正日期为空
【问题讨论】:
-
我尝试了代码并且它有效。有消息吗?
-
您将 ReleaseDate 属性设置为等于用户输入的代码是什么?
-
欢迎来到 StackOverflow。你的那部分代码看起来不错。通话是如何进行的?
-
在决定“今天的时间”是什么意思时,是否需要考虑您所在的时区?
标签: c# .net datetime asp.net-core model-view-controller