1

我有一个文本框和一个日历扩展器,这是页面 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 页面中,我尝试将 TextBox 中的值插入 DataTable 的新列中

 dt.Columns.Add("date", typeof(string), tbdate.Text);

我有这个错误

无法解释标记“。” 在位置 6。

4

2 回答 2

1

您需要先添加列:

dt.Columns.Add(new DataColumn("date", typeof(DateTime));

然后做一个循环并添加所需的日期:

foreach(DataRow row in dt.Rows)
{
 row["date"] = DateTime.Parse(tbdate.Text);
}
于 2012-04-19T10:18:54.187 回答
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;
}
于 2012-04-19T10:10:06.553 回答