我正在尝试从 GridView 获取值并将其保存为 Session 变量。
我知道列名,并且 GridView 中只有一个值。选择它并保存为 Session 变量的最佳方法是什么?
列名称是 CustomerID,值始终是 int。
如果 GridView 中有一列一行,您可以在下面尝试。
Session["MySessionValue"]= GridView1.Rows[0].Cells[0].Text;
但如果 GridView 中没有记录,则按索引访问时可能会引发异常。所以最好先检查GridView1.Rows.Count
并获得价值
您可以将DataKey
GridView 设置为 CustomerID并通过以下方式选择:
int ID = Convert.ToInt32(GridView1.DataKeys[indx].Value);
indx
是 GridView 中的行索引..
这不是执行此操作的正确方法,您最好对 cellindex 进行硬编码,但无论如何,Damith 答案的版本要长一些
if (GridView1.Rows.Count > 0)
{
int indexofcolumn = 0;
foreach (DataControlField column in GridView1.Columns)
{
if (column.HeaderText == "CustomerID") break;
indexofcolumn++;
}
Session["CustomerID"] = GridView1.Rows[0].Cells[indexofcolumn].Text;
}