单击超链接字段时检索列的 ID 并将其存储在会话中

Retrieving the ID of the column and storing it in Session when clicked on Hyperlinkfield

我有一个由 SQL table 填充的 gridview,它有两个字段:IDSubjects.

SubjectHyperLinkField的形式。我想将列的 ID 存储在会话中,这样,当我单击 HyperLinkField 以便能够在另一个 WebForm 上使用它时。我用过 DataBound 但它似乎不起作用。我正在使用 C#。

提前谢谢你。

P.S:这是我的第一个问题,不便之处,敬请谅解。我是编程初学者。

在您的网格视图中使用 Link 类型的按钮字段并将 DataTextField 设置为您想要显示的主题。然后处理网格视图的 RowCommand 事件,您可以轻松获取 ID 并将其分配给会话变量。

<asp:GridView OnRowCommand="grid1_RowCommand" runat="server" ID="grid1">
        <Columns>
            <asp:BoundField DataField="ID" HeaderText="ID" />
            <asp:ButtonField ButtonType="Link" DataTextField="Subject" />
        </Columns>
    </asp:GridView>

后面的代码:

protected void grid1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
       int rowindex = Convert.ToInt32(e.CommandArgument);
       string str = grid1.Rows[rowindex].Cells[0].Text;
       Session["Subject"] = str;
    }