您好 我创建了会话数组:
int[] a = (int[])Session["values"];
现在我必须将此值绑定到gridview。我在gridview中有一列(gridview中的boundfield)。 我使用代码将数组绑定到gridview,如下所示,但它只给出了最后一个值,因为我想要绑定所有值:
for (int i = 0; i < a.Length; i++)
{
str = "select * from Quest_Info where Quest_id='" + a[i] + "' order by Quest_id";
SqlDataAdapter da2 = new SqlDataAdapter(str, sqlconn);
ds2 = new DataSet();
da2.Fill(ds2, "Result");
reviewgrid.DataSource = ds2;
reviewgrid.DataBind();
}
哪个代码适用于此? Asp.net,c# 谢谢。
答案 0 :(得分:0)
您的代码可能无法正常工作,因为您尝试在for循环中绑定gridview,这会不断重复,最终只能绑定最后一个数组ID。
您可以尝试在绑定gridview之前准备好查询,如下所示。
string questIds = string.Empty;
for (int i = 0; i < a.Length; i++)
{
if (questIds.Length > 0)
questIds += ", ";
questIds += a[i];
}
string strSQL = "select * from Quest_Info where Quest_id IN ("+ questIds + ") order by Quest_id";
SqlDataAdapter da2 = new SqlDataAdapter(str, sqlconn);
ds2 = new DataSet();
da2.Fill(ds2, "Result");
reviewgrid.DataSource = ds2;
reviewgrid.DataBind();