【发布时间】:2014-03-24 15:59:29
【问题描述】:
我有一个网络表单应用程序,它计算两个日期之间的时间差,然后 以天数、总小时数、总分钟数的格式返回。
我的标记代码如下:
<asp:Label ID="Label20" runat="server" CssClass="label">Resolved Date</asp:Label>
<asp:TextBox ID="TextBox14" runat="server" CssClass="textbox" TextMode="Date" OnTextChanged="TextBox14_TextChanged"></asp:TextBox>
现在 ontextchanged 事件将计算与另一个日期时间文本框的时间差。
我做过这样的事情:。
protected void TextBox14_TextChanged(object sender, EventArgs e)
{
// get date from first text box
DateTime dold = Convert.ToDateTime(TextBox1.Text);
DateTime dnew = Convert.ToDateTime(TextBox14.Text);
TimeSpan daydif = (dnew - dold);
double dayd = daydif.TotalDays;
Label27.Text = dayd.ToString();
}
我的问题是,每当没有输出时? label27 没有天数的差异。
还有其他我不知道的事件触发器吗?
感谢您的帮助。
【问题讨论】:
-
“但我的问题是,每当它没有输出时?”是什么意思?
-
"但是我的问题是,每当没有输出的时候呢?",只需添加一个String.IsNullOrEmpty检查并在标签中显示一个默认值?
-
你需要发起一个回发到服务器,否则服务器上的代码永远不会运行。尝试将
AutoPostBack="True"添加到<asp:TextBox> -
有什么理由不使用日历控件? msdn.microsoft.com/en-us/library/…