gpt4 book ai didi

gridview - 单击链接按钮以获取隐藏的 ID 值时获取选定的 aspgridview 行

转载 作者:行者123 更新时间:2023-12-03 13:29:45 26 4
gpt4 key购买 nike

我正在将链接按钮与 aspgridview 中的标题数据绑定(bind),并绑定(bind)包含 ID 值的隐藏标签。当用户单击此链接按钮时,我想访问 ID 值。这是我需要的,因为如果用户登录,那么只有我弹出详细信息窗口,否则会发出警报消息以登录以获取详细信息。

在 lnkTitle_Click() 事件中,我试图访问选定的行以查找标签控件。

GridViewRow grdSelRow = GridView1.SelectedRow;
Label lblID = (Label)grdSelRow.FindControl("lblID");

但我将 grdSelRow 设为空。

单击gridview的链接按钮时如何获取选定的行?

最佳答案

问题是当您单击 GridView 中的按钮时,该行将仅是 Clicked Row 而不是 SelectedRow .如果你想让它成为 SelectedRow 你必须指定 CommandName="Select"在按钮的标记中。

这里有两种方法可以满足您的要求。

为 ItemTemplate 中的 LinkBut​​ton 连接 onclick 事件

标记

<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Click1"
OnClick="LinkButton1_Click"/>
</ItemTemplate>
</asp:TemplateField>

代码隐藏
protected void LinkButton1_Click(object sender, EventArgs e)
{
GridViewRow clickedRow = ((LinkButton) sender).NamingContainer as GridViewRow;
Label lblID = (Label)clickedRow.FindControl("lblID");
}

使用 RowCommand 捕获 LinkBut​​ton 单击。

标记
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server"
Text="Click2"
CommandName="MyCustomCommand"/>
</ItemTemplate>
</asp:TemplateField>

代码隐藏
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName.Equals("MyCustomCommand"))
{
GridViewRow clickedRow = ((LinkButton)e.CommandSource).NamingContainer as GridViewRow;
Label lblID = (Label)clickedRow.FindControl("lblID");
}
}

关于gridview - 单击链接按钮以获取隐藏的 ID 值时获取选定的 aspgridview 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6295767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com