单击超链接字段时检索列的 ID 并将其存储在会话中
Retrieving the ID of the column and storing it in Session when clicked on Hyperlinkfield
我有一个由 SQL table 填充的 gridview
,它有两个字段:ID
和 Subjects
.
Subject
是HyperLinkField
的形式。我想将列的 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;
}
我有一个由 SQL table 填充的 gridview
,它有两个字段:ID
和 Subjects
.
Subject
是HyperLinkField
的形式。我想将列的 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;
}