Gridview 标签出现在选定的行中

Gridview Label Appear in a Selected Row

我有一个名为 Gridview1 的 Gridview,它绑定到一个数据源。 我在第 5 列有一个 ItemTemplate,其中包含一个 - 称为搜索的链接按钮 - 名为 lbl_password 的标签,可见按下为真 - 名为 txt_password 的标签,可见设置为 false

代码在 asp.net webForm , .aspx

中完成

当按下 link 按钮时,此函数将获取单击按钮行中单元格 1 的 ID

GridViewRow grdrow = (GridViewRow)((LinkButton)sender).NamingContainer;
string fieldID = grdrow.Cells[1].Text;

现在我想知道如何在按下按钮时让 txt 和 lbl 变得可见

我假设你的意思是当按下 link 按钮时你想让同一行的文本和标签成为 visible.For 那个目的你可以只使用 findcontrol 方法在 gridview 行上找到您需要的控件。

如果这就是您想要的,那么在 link 按钮点击事件中您可以按照以下步骤操作,

   protected void lnkButton_Click(object sender, EventArgs e)
    {
        GridViewRow grdrow = (GridViewRow)((LinkButton)sender).NamingContainer;
        ((TextBox)grdrow.FindControl("yourtextboxID")).Visible = true;
        ((Label)grdrow.FindControl("yourLabelID")).Visible = true;
    }

Here is more info on findcontrol.