我有一个文本框和一个日历扩展器,这里是Default.aspx页面中的代码:
<asp:TextBox ID="tbdate" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="tbdate"
Format="dd.MM.yyyy">
</asp:CalendarExtender>
现在在Default.aspx.cs页面中,我尝试从DataTable的新列中插入TextBox中的值
dt.Columns.Add("date", typeof(string), tbdate.Text);
我有这个错误
无法解释令牌'。'在第6位。
答案 0 :(得分:1)
您需要先添加列:
dt.Columns.Add(new DataColumn("date", typeof(DateTime));
然后做一个循环并添加所需的日期:
foreach(DataRow row in dt.Rows)
{
row["date"] = DateTime.Parse(tbdate.Text);
}
答案 1 :(得分:0)
我假设您不希望将此日期值添加为DataColumn
,而是添加为DataRow
:
DataTable dt = new DataTable();
dt.Columns.Add("date", typeof(DateTime));
dt.Rows.Add(DateTime.Parse(tbdate.Text));
顺便说一下,您使用的DataColumnCollection.Add
的重载是Expression
。
如果要将此值添加到所有行:
var selectedDate = DateTime.Parse(tbdate.Text));
dt.Columns.Add("date", typeof(DateTime));
foreach(DataRow row in dt.Rows)
{
row["date"] = selectedDate;
}