ASP.NET mvc:如何使用今天的日期自动填充日期字段?

时间:2011-01-23 05:24:36

标签: asp.net asp.net-mvc asp.net-mvc-3

假设模型具有datetime数据类型。 所以在视图中会有一个空白字段要求您输入日期时间。

有没有办法用今天的日期/日期时间填充此HTML字段作为默认值?

3 个答案:

答案 0 :(得分:5)

model.SomeDateField = DateTime.Now();

return View(model);

答案 1 :(得分:3)

简单

<%: 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());
    });
});

答案 2 :(得分:0)

想添加我发现需要用今天的日期填充日期选择器的信息,该日期是从HTML5中的DateTime数据类型生成的(通过value属性视图中的剃刀),这是这样的:

@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阻止对字段进行适当的更改。