我的页面中有一个按钮。当我单击它时,它应该打开一个JQuery窗口。
在窗口内,我有一个datepicker控件,默认情况下应显示当前日期。我的代码是这样的。
客户端
<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
但文本框仍然是空白的。关于我错在哪里的任何线索?
答案 0 :(得分:0)
我已经解决了这个问题。
问题是我在单击代码中的“添加”按钮时重置了日期。因此它没有显示日期。因此,我在页面加载块中删除了以下代码,并在重置日期后将其添加到“添加”按钮单击事件。
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的时间和建议!