所有
我已经做了很多搜索,因为这似乎是一个非常常见的问题,并且已经在代码中移动了一些东西,似乎没有任何工作。
以下是我们的.aspx页面中的简单代码段。我们试图简单地从日期选择器中选择一个日期,然后实际将该日期显示在文本框中。麻烦的是,无论我们将该日期默认为(今天,任意日期,什么都没有,等等),我们都无法获得用户选择的日期出现在ClassificationStatusDate的此文本框中。 Datepicker似乎有效,但即使在开发人员工具中检查事物,也没有任何改变。
(此片段在其自己的标记中,与稍后发生的第二个块分开)
<td class="editor-field">
<div class="editor-field">
<%: Html.TextBoxFor(model => model.ClassificationStatusDate, "{0:MM/dd/yyyy}")%>
<%: Html.ValidationMessageFor(model => model.ClassificationStatusDate) %>
</div>
</td>
稍后,我们将在其他地方使用相同的代码片段进行所有脚本渲染:
<asp:Content ID="Content4" ContentPlaceHolderID="ScriptsSection" runat="server">
<%: Scripts.Render("~/bundles/jqueryval") %>
<%: Scripts.Render("~/bundles/jqueryui") %>
<%: Styles.Render("~/Content/themes/base/css") %>
<script type="text/javascript">
$(function () {
$("input[id$='ClassificationStatusDate']").datepicker();
});
</script>
</asp:Content>
我尝试了几件事:
这似乎是一个非常基本的问题,但也许我只是没有正确地绑定某些东西,或者沿着这些方向的东西。我听说有些人不得不等待DOM&#34;准备好了,但我认为这就是我已经做过的事情&#34; $(function(){&#34;。但是,也许还有别的东西因为这个而关闭是一个通过Razor构建其输入的应用程序。
答案 0 :(得分:0)
<%: Html.HiddenFor(model => model.ClassificationStatusDate) %>
这导致为ID为&#34; ClassificationStatusDate&#34;的所有项初始化datepicker,但是当更改值时,它只会到达最顶层DOM中的元素。我删除了这一切,一切都很好。也许有人会从中吸取教训!