这是我的dropDownList,其id = endtime
<asp:DropDownList style="width:65%" class="form-control1" ID="endtime" runat="server" OnSelectedIndexChanged="endtime_SelectedIndexChanged">
通过这种方法,我将时间填入我的下拉列表
public void timeDropdown()
{
DateTime StartTime = DateTime.ParseExact("00:00", "HH:mm", null);
DateTime EndTime = DateTime.ParseExact("23:55", "HH:mm", null);
TimeSpan Interval = new TimeSpan(0, 60, 0);
starttime.Items.Clear();
endtime.Items.Clear();
while (StartTime <= EndTime)
{
endtime.Items.Add(StartTime.ToShortTimeString());
StartTime = StartTime.Add(Interval);
}
endtime.Items.Insert(0, new ListItem("--Select--", "0"));
}
这里我得到dropdownList的值并将其转换为DateTime然后保存在数据库中。但它给出了这个例外: &#39;字符串未被识别为有效的DateTime&#39; 。数据库中的endtime字段也是DateTime数据类型。
DateTime end_time = Convert.ToDateTime(endtime.SelectedItem.Text);
SqlCommand com = new SqlCommand("INSERT INTO IvrDatas endtime values @endtime",conn);
com.Parameters.AddWithValue("@endtime", end_time);
答案 0 :(得分:0)
DateTime end_time = Convert.ToDateTime(endtime.SelectedItem.Text);
异常应该在这里,因为你的endtime.selectedItem.Text是没有日期的时间。
因此您必须将Date添加到此selectedItem
然后使用下面的解决方案转换为时间
com.Parameters.AddWithValue("@endtime", end_time.ToString("hh:mm:ss"));
或强>
请勿转换为日期时间格式。
String end_time = endtime.SelectedItem.Text;
com.Parameters.AddWithValue("@endtime", end_time);