Razor Pages 在页面加载时设置当前日期
Posted
技术标签:
【中文标题】Razor Pages 在页面加载时设置当前日期【英文标题】:Razor Pages set current date on page load 【发布时间】:2021-02-06 15:04:08 【问题描述】:我是 razor 和 .net 的新手,我在 ASP Net Razor 项目上有一个页面,我在其中弹出一个带有表单的模式。表单内部有一个日期选择器,我想在页面加载时设置系统日期并均匀地保持可编辑。 我已经试过了
@ string dateNow = DateTime.Now.ToString("dd MM yyyy");
<input asp-for="intervento.Data" class="form-control" type="date" value="@dateNow" />
它检索到正确的日期,但无法显示它。我该如何解决这个问题?
【问题讨论】:
【参考方案1】:您的日期应采用以下格式yyyy-MM-dd
。
所以它看起来像这样:
<input type="date" value="2020-10-23">
【讨论】:
它成功了,谢谢,我用这个“yyyy-MM-dd”而不是“dd MM yyyy”设置了ToString【参考方案2】:大概,Intervento.Data
是您的 PageModel 的 DateTime
属性?如果是这样,你应该添加一个DataType
属性来指定它代表一个日期,而不是一个时间:
[DataType(DataType.Date)]
public DateTime Data get; set;
那么您不需要在输入中指定type
。标签助手将根据属性生成正确的值。此外,如果您在属性上设置默认值:
[DataType(DataType.Date)]
public DateTime Data get; set; = DateTime.Now;
您也不需要设置输入的值。 ASP.NET 将负责将值正确格式化为输入可以使用的 ISO 8601 格式。所以以下就足够了:
<input asp-for="intervento.Data" class="form-control" />
【讨论】:
以上是关于Razor Pages 在页面加载时设置当前日期的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net core razor pages 加载部分页面
如何从 Razor Pages 应用程序中的插件动态加载页面?
当其他输入验证验证失败时,Razor Pages textarea 输入只会增长和增长
Razor Pages .NetCore OnPost 处理程序