包括Trent Richardson datetimepicker在asp.net mvc 3应用程序中

时间:2013-05-14 07:09:38

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

我的一个观点需要一个日期时间选择器,所以我决定使用Trent Richardson的一个,因为它似乎是最受欢迎的选择。然而,直到现在我无法使它工作,我不确定我做错了什么或一切都好,但我错过了一些步骤..也许两者兼而有之。所以这就是我所做的:

  1. 在我的jquery-ui-timepicker-addon jquery.ui.datepicker.min.js中添加了名为Scripts\plugins\datepicker directory where I already have的查询代码,所以我现在有两个提交。
  2. 在`Shared_Layout.cshtml视图中包含我的新js文件,如:

  3. 这是我为使datetimepicker可用而采取的两个步骤。然后在我的部分视图之一,我也使用datepicker,它的工作原理我尝试使用datetimepicker,如下所示:

    else if (field[i].MCS_Fields.QuestionTypeId == 3)
                        { 
                            <script type="text/javascript">
                                $(function () {
                                    $(".datetimepicker").datetimepicker();
                                });
                            </script>
                            <input type="text" class="datetimepicker" />
                            @*@Html.TextBox("datetimepicker", "", new { @class = "datetimepicker" })*@
                        }
    

    但它不起作用。首先我尝试使用@Html.TextBox,但正如您所看到的,我对其进行了评论并尝试使用简单的<input标记。但在同样的局部视图中我有这个:

    if (field[i].MCS_Fields.QuestionTypeId == 2)
                        { 
                            <script type="text/javascript">
                                $(function () {
                                    $(".datepicker").datepicker();
                                });
                            </script>
                            @Html.TextBox("datepicker", "", new { @class = "datepicker" })
                        }
    

    它按预期工作。我注意到的是,在_Layout页面中,datepicker js文件没有包含在任何地方,我仍然可以使用它。我是否将datetimepicker包含在错误的位置?或问题出在其他地方?

1 个答案:

答案 0 :(得分:1)

在你的布局中,请确保在jquery-ui-timepicker-addon.js脚本之后添加了jquery.ui.datepicker.min.js脚本,<{1}}脚本必须包含 {{1>脚本。

此外,我建议您从部分删除所有脚本并将其放在布局中的脚本包含之后:

jquery.js

如果您的脚本包含在DOM的末尾,您甚至不需要将它们包装在document.ready事件中。