Ajax CalendarExtender,点击按钮后如何获取日期?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax CalendarExtender,点击按钮后如何获取日期?相关的知识,希望对你有一定的参考价值。
我想添加一个Ajax CalendarExtender到我的页面。然后在选择日期并单击按钮后,我会在标签中获得所选日期。
我有一个文本框,它是CalendarExtender的目标
<asp:TextBox ID="DateText" runat="server" ReadOnly="true" ></asp:TextBox>
<ajaxToolkit:CalendarExtender
ID="Calendar1"
runat="server"
TargetControlID="DateText"
Format="MMMM d, yyyy"
PopupPosition="Right"
/>
<asp:Button runat="server" ID="Button1" onclick="Button1_Click" />
在守则背后:
在第一页加载时,我将日期设置为今天。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Calendar1.SelectedDate = DateTime.Today;
}
}
在Button1_Click事件中
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = Calendar1.SelectedDate.Value.Day.ToString();
}
问题是当我单击按钮(或任何后退后)时,所选值将重置为今天的日期。
如果我没有在DateTime.Today
中将它设置为Page_Load
它将重置为null并抛出一个null异常。
我怎么解决这个问题?
非常感谢您的帮助。我希望我很清楚
答案
也许这会奏效:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if(!Calendar1.SelectedDate)
Calendar1.SelectedDate = DateTime.Today;
}
}
另一答案
该问题的解决方案是使用Request.Form集合。由于此集合具有回发到服务器的所有字段的值,并且它具有使用javascript等客户端脚本设置的值。
因此,我们需要对获取值服务器端的方式进行一些小改动。
C#
protected void Submit(object sender, EventArgs e)
{
string date = Request.Form[txtDate.UniqueID];
}
以上是关于Ajax CalendarExtender,点击按钮后如何获取日期?的主要内容,如果未能解决你的问题,请参考以下文章
jQueryUI 自动完成返回 AJAX 错误 0 当用户点击回车