如何将gridview可点击单元格数据值添加到新页面aspx

时间:2015-04-09 04:36:30

标签: sql asp.net

我在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页中的单元格值作为会话变量?

谢谢!

1 个答案:

答案 0 :(得分:0)

根据我从您的问题中理解的内容,您希望捕获单击的单元格的值,将其存储在会话中并使其可以在已重定向的页面上访问。这是可能的,您可以尝试这样的流程:

在这种情况下,您可以使用GridView的内置方法onRowCommand来生成服务器端事件,然后您可以识别单击了哪个单元格,最后,您可以通过索引获取其值。以下代码是您可以根据您的要求尝试和操作的演示。这是一个示例,其中在Gridview中使用Linkbutton,点击它后,将获取其值。

如果要为该特定控件分配可在服务器端使用的值,也可以尝试使用CommandNameCommandArgument属性。

protected void Grd1_RowCommand(object sender, GridViewCommandEventArgs e)
{
   LinkButton lnk = (LinkButton)e.CommandSource;
   string value = lnk.Text;
}

要将其存储在Session中,您只需使用Session["yourVarName"] = value;即可。此值可以在另一页上访问。

希望这有帮助。