【发布时间】:2011-01-23 05:24:35
【问题描述】:
假设模型具有日期时间数据类型。 所以在视图中会有一个空白字段要求您输入日期时间。
有没有办法用今天的日期/日期时间作为默认值填充这个 HTML 字段?
【问题讨论】:
-
请定义今天。是今天在澳大利亚、今天在美国、今天在法国、今天在客户端浏览器上、今天在托管服务器的地方吗?
标签: asp.net asp.net-mvc asp.net-mvc-3
假设模型具有日期时间数据类型。 所以在视图中会有一个空白字段要求您输入日期时间。
有没有办法用今天的日期/日期时间作为默认值填充这个 HTML 字段?
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-mvc-3
model.SomeDateField = DateTime.Now();
return View(model);
【讨论】:
简单
<%: Html.TextBox("date", DateTime.Now.ToShortDateString()) %>
或者使用 javascript 来获取客户端的浏览器日期。更好的是使用 jquery 的 datepicker 来获得漂亮的 UI 来选择日期。使用它,您还可以预填充默认日期:
/**
Enable jquery UI datepickers
**/
$(document).ready(function () {
$(function () {
$(".date-select").datepicker({ dateFormat: 'dd.mm.yy' });
$(".date-select").datepicker($.datepicker.regional['sl']);
});
$(function () {
$("#someDateField").datepicker('setDate', new Date());
});
});
【讨论】:
想要添加我发现用 HTML5 中的 DateTime 数据类型生成的日期选择器填充日期选择器所需的内容(通过 value 属性中视图中的 razor),它是这样的:
@Html.TextBoxFor(model => model.YourDateInModel, new { @id = "YourDateId", @type = "date",
@Value = DateTime.Now.ToString("yyyy'-'MM'-'dd") })
请注意,ToString() 格式对于让它在 datepicker 字段中显示日期是必要的(它需要数据库格式)。
来源:https://forums.asp.net/p/2154640/6320474.aspx?p=True&t=637376668781782563
编辑:这最终导致数据库本身为空/空,因此我还必须将模型设置为今天日期的初始值(如上所述)。
public DateTime YourDateInModel { get; set; } = DateTime.Now;
在我的情况下,我需要两者。使用以下内容也可能会有所帮助:
$("#YourDateId").prop("disabled", true);
如果您使用 JQuery/Javascript 来防止更改适用的字段。
【讨论】: