ASP.NET Core MVC中如何为文章创建页面自动加载当前日期?
在.NET Core Create视图中自动填充当前日期
你好呀!针对你想在页面加载时自动填充当前日期的需求,有几种简单的实现方式,我来帮你一步步说明:
方法1:在控制器的Get请求方法中初始化模型值
这是最贴合.NET Core MVC模式的做法,直接在返回视图前给Article对象的ArticleDate赋值当前日期:
修改你的CreateArticle Get方法:
public IActionResult CreateArticle() { // 初始化Article对象并设置当前日期 var article = new Article { ArticleDate = DateTime.Now }; return View(article); }
这样当视图加载时,因为已经绑定了带有日期值的模型,asp-for="ArticleDate"的输入框会自动填充当前日期,而且完全符合你的DisplayFormat格式要求。
方法2:用JavaScript在前端设置默认值
如果你不想修改后端代码,也可以在视图里添加一段JS代码,页面加载时给日期输入框赋值:
在你的视图日期输入框所在的位置下方添加:
<script> // 页面加载完成后执行 document.addEventListener('DOMContentLoaded', function() { // 获取日期输入框元素 const dateInput = document.querySelector('input[name="ArticleDate"]'); if (dateInput) { // 格式化当前日期为dd/MM/yyyy格式 const today = new Date(); const day = String(today.getDate()).padStart(2, '0'); const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 const year = today.getFullYear(); dateInput.value = `${day}/${month}/${year}`; } }); </script>
这种方式纯前端处理,不需要改动后端逻辑。
小提示:发现你代码里的两处小拼写错误
- 模型类里的
ArticleDescriotion应该是ArticleDescription(少了个p) - 控制器Post方法里的
context.Articales应该是context.Articles(拼写错误)
修正这些能避免后续可能出现的运行时问题哦!
内容的提问来源于stack exchange,提问作者Mahmoud
相关产品推荐
相关产品推荐

