我使用ajax日历扩展程序跟踪TextBox,而在TextChanged事件中我调用“txtFromDate_TextChanged”函数。
asp代码:
<asp:TextBox ID="txtFromDate" runat="server" AutoPostBack="True"
ontextchanged="txtFromDate_TextChanged"></asp:TextBox>
asp:CalendarExtender ID="txtFromDate_CalendarExtender" Format="dd/MM/yyyy" runat="server" Enabled="True"
TargetControlID="txtFromDate">
</asp:CalendarExtender>
c#code:
protected void txtFromDate_TextChanged(object sender, EventArgs e)
{
if (txtFromDate.Text != "")
{
DateTime fromdate = Convert.ToDateTime(txtFromDate.Text);
Query = Query + "And CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, ord_del_date))) >= '" + fromdate.ToString("yyyy'-'MM'-'dd") + "'";
}
}
当我通过visual studio调试时,甚至当我在本地IIS服务器上托管该站点时,此代码工作正常。 问题是,当我在在线托管服务器上托管网站时,当我从日历中选择日期并调用textchanged事件时,会出现以下错误:
错误:
String was not recognized as a valid DateTime.
我知道因为行而给出错误:
DateTime fromdate = Convert.ToDateTime(txtFromDate.Text);
但我在这段代码中没有发现任何错误。 这个代码在视觉工作室或在IIS上托管时工作得非常好,但我完全感到困惑,为什么它在托管服务器上托管时无效。我完全糊涂了。请帮帮我。
答案 0 :(得分:2)
尝试将aspx中的日期格式更改为
dd-MMM-yyyy (if you want month)
或
dd-MM-yyyy (if you want only month)
答案 1 :(得分:1)
试试这个:
IFormatProvider provider = new System.Globalization.CultureInfo("gu-IN", true);
DateTime dtime = DateTime.Parse(txtFromDate.Text, provider, System.Globalization.DateTimeStyles.NoCurrentDateDefault);
答案 2 :(得分:1)
fromdate.ToString("yyyy'-'MM'-'dd")
更改此格式正常工作
fromdate.ToString("yyyy-MM-dd")
答案 3 :(得分:0)
DateTime fromdate = DateTime.ParseExact(txtToDate.Text, "dd/MM/yyyy", null);
Query = Query + "And CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, ord_del_date))) >= '" + fromdate.ToString("yyyy'-'MM'-'dd") + "'";