繁体   English   中英

ASP.NET Core HTML Helper 未设置日期的默认值

[英]ASP.NET Core HTML Helper is not setting Default Value for Date

我有一个表单,我希望日期默认为今天的日期。

<div class="form-group">
    <label asp-for="ThrDate" class="control-label"></label>
    <input asp-for="ThrDate" class="form-control" value="@DateTime.Now" 
           type="date" asp-format="{0:yyyy-MM-dd HH:mm}" />
    <span asp-validation-for="ThrDate" class="text-danger"></span>
</div>

我的研究表明这会起作用,但实际上并没有传递价值。 哦,我仍然希望日期选择器能够工作。

谢谢!

您可以尝试以下代码:

<div class="form-group">
    <label asp-for="ThrDate" class="control-label"></label>
    <input asp-for="ThrDate" class="form-control" id="date_info" type="date" asp-format="{0:yyyy-MM-dd}" />
    <span asp-validation-for="ThrDate" class="text-danger"></span>
</div>
@section Scripts{ 
<script>
$(document).ready(function () {
    var time = new Date();
    var day = ("0" + time.getDate()).slice(-2);
    var month = ("0" + (time.getMonth() + 1)).slice(-2);
    var today = time.getFullYear() + "-" + (month) + "-" + (day);
    $('#date_info').val(today);
})
</script>
}

结果: 在此处输入图片说明

如果你想使用datetimepicker ,你可以使用以下代码:

<div class="form-group">
<label asp-for="ThrDate" class="control-label"></label>
<div class="input-group date" id="datetimepicker1" data-target-input="nearest">
    <input class="form-control datetimepicker-input" asp-for="ThrDate" type="text" data-target="#datetimepicker1" />
    <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
        <div class="input-group-text"><i class="fa fa-calendar"></i></div>
    </div>
</div>
</div>
@section Scripts{
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" />
<script>
    $('#datetimepicker1').datetimepicker({    
        format: 'DD/MM/YYYY HH:mm',
        defaultDate: new Date(), 
    });
</script>
}

结果: 在此处输入图片说明

另一篇文章给了我们答案: 在创建视图 MVC ASP.NET Core 2 时设置默认输入值 Datetime.Now?

但它在评论中,所以我会在这里详细说明。

在控制器中,在 GET 中,设置模型项的值,例如:

PostThr postThr = new PostThr { ThrDate = DateTime.Now };

return view(model);

执行此操作后,控制器中分配的值将传递给视图。 无需修改视图。

旁注:我现在似乎在格式化值时遇到了麻烦,但这是富人世界的问题,或者其他问题。

向斯蒂芬·穆克大喊大叫!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM