2013-09-30 44 views
2

我的頁面中有一個按鈕。當我點擊它時,它應該打開一個JQuery窗口。ASP.NET中的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

您是否嘗試打印Session(「CurrentDate」)?正如你在會話中設置它,如果它沒有正確格式的有效日期,它將被清空。 –

+0

@Sumit,問題是我的頁面正在回傳。所以我在上面的代碼中設置的斷點不會讓我進入IF循環。 – MusicLovingIndianGirl

+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爲您的時間和建議!