我在GridView中有两列,其中1列的每个单元都是超链接的。
<asp:GridView ID="gvBlogList" runat="server" DataKeyNames="Id"
AutoGenerateColumns="False" OnRowDataBound="OnRowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLinkField DataTextField="id"
HeaderText="Blog id" NavigateUrl="detailspage.aspx" />
</ItemTemplate>
<ItemStyle Width="150px"></ItemStyle>
</asp:TemplateField>
</Columns>
</asp:GridView>
如何将第2页中的单元格值作为会话变量?
谢谢!
答案 0 :(得分:0)
根据我从您的问题中理解的内容,您希望捕获单击的单元格的值,将其存储在会话中并使其可以在已重定向的页面上访问。这是可能的,您可以尝试这样的流程:
在这种情况下,您可以使用GridView的内置方法onRowCommand
来生成服务器端事件,然后您可以识别单击了哪个单元格,最后,您可以通过索引获取其值。以下代码是您可以根据您的要求尝试和操作的演示。这是一个示例,其中在Gridview中使用Linkbutton,点击它后,将获取其值。
如果要为该特定控件分配可在服务器端使用的值,也可以尝试使用CommandName
和CommandArgument
属性。
protected void Grd1_RowCommand(object sender, GridViewCommandEventArgs e)
{
LinkButton lnk = (LinkButton)e.CommandSource;
string value = lnk.Text;
}
要将其存储在Session
中,您只需使用Session["yourVarName"] = value;
即可。此值可以在另一页上访问。
希望这有帮助。