【问题标题】:JQuery Date Picker in ASP.NETASP.NET 中的 JQuery 日期选择器
【发布时间】:2013-09-30 06:11:07
【问题描述】:

我的页面中有一个按钮。当我单击它时,它应该会打开一个 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

但是文本框仍然是空白的。关于我错在哪里的任何线索?

【问题讨论】:

  • 您是否尝试打印 Session("CurrentDate") ?因为您是从会话中设置它,如果它没有正确格式的有效日期,它将空白。
  • @Sumit,问题是我的页面被回发了。所以我在上面的代码中设置的断点不会让我进入 IF 循环。
  • 你是第一次还是之后错过了价值?
  • @Sumit,页面第一次加载时文本框为空白。
  • 您将TxtDate's 文本值设置为今天,然后立即将其重新设置为会话中的CurrentDate 值。第二行是否必须是Session("CurrentDate") = TxtDate.Text?或者甚至更好:Session("CurrentDate") = TxtDate.Text = DateTime.Today.ToString("dd-MM-yyyy")?

标签: jquery asp.net vb.net


【解决方案1】:

我已经解决了这个问题。

问题是我在单击代码中的“添加”按钮时重置了日期。因此它没有显示日期。所以我从页面加载块中删除了以下代码,并在重置日期后将其添加到添加按钮单击事件中。

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 的宝贵时间和建议!

【讨论】:

    猜你喜欢
    • 2010-10-28
    • 2010-09-27
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多