0

我已经使用 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#代码:

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

但我在这段代码中没有发现任何错误。此代码在 Visual Studio 或托管在 IIS 上时运行良好,但我完全困惑为什么它在托管服务器上托管时不起作用。我完全糊涂了。请帮帮我。

4

4 回答 4

2

尝试将 aspx 中的日期格式更改为

dd-MMM-yyyy (if you want month)

或者

dd-MM-yyyy (if you want only month)
于 2013-08-31T08:34:43.003 回答
1

试试这个:

IFormatProvider provider = new System.Globalization.CultureInfo("gu-IN", true);
DateTime dtime = DateTime.Parse(txtFromDate.Text, provider, System.Globalization.DateTimeStyles.NoCurrentDateDefault);
于 2013-08-31T08:42:37.903 回答
1
fromdate.ToString("yyyy'-'MM'-'dd")

更改它正在工作的这种格式

fromdate.ToString("yyyy-MM-dd")
于 2013-08-31T11:12:34.373 回答
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") + "'";
于 2013-09-06T12:21:28.320 回答