如何使用foreach循环将会话中的值获取到数据集
本文关键字:获取 数据集 会话 何使用 foreach 循环 | 更新日期: 2023-09-27 18:06:21
我有一个会话,其中包括一个数据表。现在我想获得每个数字并使用foreach
循环将其存储在数据库中。我试过一个密码。但是它显示了这个错误信息。"
无法将类型'char'转换为' system . web . ui . webcontrols . listtitem '"
我该怎么做呢?
这是我的代码
protected void policyDetails()
{
DataSet ds = new DataSet();
string cellVal = "";
foreach (ListItem item in Session["PolicyTable"].ToString())
{
cellVal = item.ToString();
ds = db.insertPolicyDetails(cellVal);
}
}
这是如何创建会话
dr = dt.NewRow();
dr["Policy_No"] = txtPolicy.Text.Trim();
dt.Rows.Add(dr);
grdPolicyDetails.DataSource = dt;
grdPolicyDetails.DataBind();
Session["PolicyTable"] = dt;
出现此错误是因为您将Session["PolicyTable"]
迭代为listtitem。修改为DataRow
。此外,如果会话变量包含数据表,您将遍历不能是字符串的行。即使它只包含一个列,您也应该将其值检索为:
DataTable dtSessionTable = (DataTable)Session["PolicyTable"];
foreach (DataRow item in dtSessionTable.Rows)
{
cellVal = item["Policy_No"].ToString();
ds = db.insertPolicyDetails(cellVal);
}
错误在这一行
cellVal = item.ToString();
应该是:
cellVal = item.Text;
或
cellVal = item.Value;