我的页面上有一个按钮。当我单击它时,它应该打开一个JQuery窗口。
在窗口中,我有一个日期选择器控件,默认情况下应显示当前日期。我的代码就是这样。
客户端
<script type="text/javascript">
$(function () {
$("#<%= txtDate.ClientID %>").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd-mm-yy",
yearRange: '1901:2050',
maxDate: new Date(),
showOn: "button",
buttonImage: "images/calendar.png",
buttonImageOnly: true,
showButtonPanel: true,
showMonthAfterYear: true,
inline: true,
altField: "#<%= HiddenDate.ClientID %>",
altFormat: "dd-mm-yy",
onSelect: function (dateText, inst) {
shouldsubmit = true;
},
onClose: function (dateText, inst) {
shouldsubmit = false;
javascript: __doPostBack('<%= txtDate.ClientID %>', '');
}
});
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function (evt, args) {
$("#<%= txtDate.ClientID %>").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd-mm-yy",
yearRange: '1901:2050',
maxDate: new Date(),
showOn: "button",
buttonImage: "images/calendar.png",
buttonImageOnly: true,
showButtonPanel: true,
showMonthAfterYear: true,
inline: true,
altField: "#<%= HiddenDate.ClientID %>",
altFormat: "dd-mm-yy",
onSelect: function (dateText, inst) {
shouldsubmit = true;
},
onClose: function (dateText, inst) {
shouldsubmit = false;
javascript: __doPostBack('<%= txtDate.ClientID %>', '');
}
});
});
服务器端
If Not Page.IsPostBack Then
TxtDate.Text = DateTime.Today.ToString("dd-MM-yyyy")
TxtDate.Text = Session("CurrentDate")
End If
但是文本框仍为空白。关于我错在哪里的任何线索?
最佳答案
我已经解决了这个问题。
问题是我在代码中单击“添加”按钮后重新设置了日期。因此,它没有显示日期。因此,我在重置日期后从页面加载块中删除了以下代码,并将其添加到“添加”按钮单击事件中。
Protected Sub btnNewBatch_Click(sender As Object, e As ImageClickEventArgs) Handles btnNewBatch.Click
TxtDate.Text = DateTime.Today.ToString("dd-MM-yyyy")
TxtDate.Text = Session("CurrentDate")
HiddenDate.Value = TxtDate.Text
End Sub
感谢@Samit和@Yuriy给您的时间和建议!
关于jquery - ASP.NET中的JQuery日期选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19087484/