gpt4 book ai didi

c# - 如何使用 Razor/C# 值预填充 'date' 输入字段

转载 作者:行者123 更新时间:2023-12-02 20:09:58 25 4
gpt4 key购买 nike

我有一个“日期”类型的输入,我正在尝试让 Razor 代码使用服务器已有的信息预填充日期,因为它用于 MVC ASP.NET Core 应用程序上的编辑字段我正在尝试。

我使用的代码是:

<input type="date" name="DeliveredDate" id="DeliveredDate" value='@Model["order"].DeliveredDate.ToString("mm/dd/yyyy")'>

我可以获得在页面的任何其他部分显示字符串的代码,但是是否有技巧可以让相同的字符串填充日期字段的值?我所有的谷歌搜索都没有发现任何特别有用的东西。

最佳答案

您可以使用 @Html.TextBox() 或强类型的 @Html.TextBoxFor() 帮助程序来执行此操作,方法是设置 DisplayFormatAttribute 或直接在助手中设置日期格式:

View 模型属性

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public DateTime DeliveredDate { get; set; }

查看

@Html.TextBox("DeliveredDate", Model["order"].DeliveredDate, "{0:MM/dd/yyyy}", new { type = "date" })

@Html.TextBoxFor(model => model.DeliveredDate, "{0:MM/dd/yyyy}", new { type = "date" })

或者使用 EditorFor 设置日期格式,自动附加 type = "date" 属性:

@Html.EditorFor(model => model.DeliveredDate)

如果您使用标签助手,只需设置 asp-for 属性:

<input asp-for="DeliveredDate" type="date" />

注意事项:

1) 确保您已经在 Controller 操作中设置了日期值,例如model.DeliveredDate = DateTime.Now(model 的类型为 Model["order"])。

2) 后一种方法需要在 viewmodel 属性中设置 DisplayFormatAttribute,因为没有字符串格式化参数来设置 EditorFor 或标签助手本身的格式。

关于c# - 如何使用 Razor/C# 值预填充 'date' 输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53826009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com