调用是这样调用的:<asp:TextBox ID="txtetime" runat="server" onclick="WdatePicker()"            maxlength="50" Width="126px" ReadOnly="True"></asp:TextBox>
然后在CS页面这样获取值 DateTime etime = DateTime.Parse(txtetime.Text);
保存到数据库 
保存时提示:该字符串未被识别为有效的 DateTime行 61:             //}
行 62:             string etimeslot = this.txtetimeslot.Text;
行 63:             DateTime etime = DateTime.Parse(txtetime.Text);

解决方案 »

  1.   

    txtetime.Text的字符串是什么样式的,是不是有空的字符,不能转化
      

  2.   


    txtetime.Text字符串是获取的日期: 2012-08-09
      

  3.   


    DateTime.Parse(txtetime.Text.Trim(), System.Globalization.DateTimeFormatInfo.InvariantInfo)
    试试
      

  4.   

    Request["txtetime"]页面上用js改变控件值,必须用Request获取表单值。
      

  5.   

    你确定调试进去有值么?如果有那应该不存在错误。。
    把这个txtetime.Text单独赋给一个变量。。然后再用那个变量去转试试应该不可能。或者你用try catch 处理下异常。。看看报什么错
      

  6.   

    经测试,使用“2012-08-09”字符串,利用SqlParameter参数化的方式向数据库写入数据, DateTime etime = DateTime.Parse("2012-08-09");完全可行。
    如果用拼接字符串的形式:insert into tbxxx(riqi) values ('2012-08-09') ,就不需要用datetime.parse()转化了,直接用字符串拼接就行。
    不知你用的哪一种? 也可设断点,跟踪调试一下
      

  7.   

    我把ReadOnly="True" 去掉  可以了
      

  8.   

    我把ReadOnly="True" 去掉  可以了