ASP.NET不能从后面的代码中将值设置为datepicker [英] ASP.NET Can't set value to datepicker from code behind

查看:53
本文介绍了ASP.NET不能从后面的代码中将值设置为datepicker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个日期选择器字段

I have a datepicker field

$(function () {
        $("#dateTextBox").datepicker({
            changeMonth: true,
            changeYear: true
        });

        $("#dateTextBox").datepicker("option", "dateFormat", "dd/mm/yy");
});

在后面的代码中,单击按钮时,我试图将值设置为datepicker字段:

In code behind, on button click, I'm trying to set value to datepicker field:

dateTextBox.Value = date.ToString("dd/MM/yyyy");

但是回发后,文本框为空...

But after postback, textbox is empty...

推荐答案

为实现此目的,您需要使用隐藏字段从客户端读取详细信息.可以在服务器端设置此hiddenfield值.

In order to achieve this, you need to read details from client side using hidden field. This hiddenfield value can be set at server side.

例如:

在页面上创建隐藏字段

<asp:HiddenField id="hdnDate" runat="server" />

在hiddenField中设置日期字符串:

set date string in hiddenField :

protected void button_Clicked (...)
{
     DateTime dt = DateTime.Now;
     hdnDate.Value = dt.Year.ToString() + "," + (dt.Month - 1 ).ToString() + "," + dt.Day.ToString();
}

现在,在document.ready发生jquery事件时,执行此操作

now, on document.ready of jquery event, do this

$(document).ready(function() {
 $("#dateTextBox").datepicker({
        changeMonth: true,
        changeYear: true
    });

  dtString = $("#<%=hdnDate.ClientID%>").val();
  dtString = dtString.split(',');
  var defaultDate = new Date(dtString[0], dtString[1], dtString[2]);
  $("#dateTextBox").datepicker("setDate",defaultDate);

});

这篇关于ASP.NET不能从后面的代码中将值设置为datepicker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆