ASP.NET无法设置值从code到后面的日期选择器 [英] ASP.NET Can't set value to datepicker from code behind
本文介绍了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屋!
查看全文