ASP.NET无法设置值从code到后面的日期选择器 [英] ASP.NET Can't set value to datepicker from code behind

查看:158
本文介绍了ASP.NET无法设置值从code到后面的日期选择器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个datepicker字段

I have a datepicker field

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

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

在code的后面,在按一下按钮,我试图值设置为日期选择器领域:

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();
}

现在,jQuery的事件的document.ready,做到这一点。

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无法设置值从code到后面的日期选择器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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