我试图从GridView获取值并将其保存为Session变量。
我知道列名,GridView中只有一个值。选择它并保存为Session变量的最佳方法是什么?
列名是CustomerID,值始终为int。
答案 0 :(得分:2)
如果GridView中有一列和一行,您可以在下面尝试。
Session["MySessionValue"]= GridView1.Rows[0].Cells[0].Text;
但是如果GridView中没有记录,则可以通过索引访问异常。最好先检查GridView1.Rows.Count
然后获取值
答案 1 :(得分:1)
您可以将GridView的DataKey
设置为 CustomerID ,然后选择:
int ID = Convert.ToInt32(GridView1.DataKeys[indx].Value);
indx
是GridView中的行索引..
答案 2 :(得分:1)
这不是一个正确的方法来做到这一点,你最好硬编码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;
}