1

我正在尝试从 GridView 获取值并将其保存为 Session 变量。

我知道列名,并且 GridView 中只有一个值。选择它并保存为 Session 变量的最佳方法是什么?

列名称是 CustomerID,值始终是 int。

4

3 回答 3

2

如果 GridView 中有一列一行,您可以在下面尝试。

Session["MySessionValue"]=  GridView1.Rows[0].Cells[0].Text;

但如果 GridView 中没有记录,则按索引访问时可能会引发异常。所以最好先检查GridView1.Rows.Count并获得价值

于 2013-05-13T16:37:51.813 回答
1

您可以将DataKeyGridView 设置为 CustomerID并通过以下方式选择:

int ID = Convert.ToInt32(GridView1.DataKeys[indx].Value);

indx是 GridView 中的行索引..

于 2013-05-13T16:24:06.920 回答
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;
}
于 2013-05-13T17:02:35.003 回答