【问题标题】:Bind Bootstrap3 datetimepicker with ASP.NET Core model value将 Bootstrap3 datetimepicker 与 ASP.NET Core 模型值绑定
【发布时间】:2018-03-27 00:18:32
【问题描述】:

我正在尝试使用 MVC 标签助手将Bootstrap 3 Datetimepicker 绑定到我的 ASP.NET Core 模型,如下所示:

<div class='input-group date' id='datetimepicker1'>
    <input asp-for="Observation.ObservationDateTime" type='text' class="form-control" />
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>

我在初始化控件时遇到问题。以下方法不起作用:

1) 在 Razor 部分中的脚本如下:

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}

<script type="text/javascript">
    $(function () {
        $('#datetimepicker1').datetimepicker();
    });
</script>
}

这样做会初始化 datetimepicker,但没有模型值。我如何让它工作但以模型值作为初始值?

【问题讨论】:

    标签: asp.net-core bootstrap-datetimepicker eonasdan-datetimepicker


    【解决方案1】:

    在视图中包含您的日期字段,如下所示:

    @Html.EditorFor(model => model.MyDate, new { htmlAttributes = new { @class = "my-date" } })
    

    并像这样在你的 JavaScript 中初始化它(我正在使用 jQuery)

    $(document).ready(function () {
        // get date from MyDate input field
        var date = $(".my-date").val();
    
       // use current date as default, if input is empty
       if (!date) {
           date = new Date();
       }
    
        $('.my-date').datetimepicker({
            format: 'YYYY/MM/DD',
            date: date
        });
    });
    

    请注意,我使用 'my-date' 类作为输入选择器,您可能希望以不同的方式选择它...显然您需要包含引导库...

    附带说明,最好将脚本放在外部文件中:why should I avoid inline Scripts

    【讨论】:

    • 谢谢,但不幸的是它仍然没有显示模型值。在浏览器中有一条错误消息:'unexpected value'。
    • 我已经更新了我的答案...在 java 脚本中,您可以从输入中读取值并将其传递给 datatimepicker。这应该显示模型的日期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    相关资源
    最近更新 更多