Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击链接按钮获取隐藏ID值时获取aspgridview的选定行_Gridview_Linkbutton - Fatal编程技术网

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

单击链接按钮获取隐藏ID值时获取aspgridview的选定行,gridview,linkbutton,Gridview,Linkbutton,我将链接按钮与aspgridview中的标题数据绑定,还将隐藏标签绑定,该标签保存ID值。当用户单击此链接按钮时,我希望访问ID值。这是我需要的,因为,若用户登录,那个么只有我弹出详细信息窗口,否则会发出警报消息以登录详细信息 在lnkTitle_Click()事件中,我试图访问所选行以查找label控件 GridViewRow grdSelRow = GridView1.SelectedRow; Label lblID = (Label)grdSelRow.FindControl("lblID

我将链接按钮与aspgridview中的标题数据绑定,还将隐藏标签绑定,该标签保存ID值。当用户单击此链接按钮时,我希望访问ID值。这是我需要的,因为,若用户登录,那个么只有我弹出详细信息窗口,否则会发出警报消息以登录详细信息

在lnkTitle_Click()事件中,我试图访问所选行以查找label控件

GridViewRow grdSelRow = GridView1.SelectedRow;
Label lblID = (Label)grdSelRow.FindControl("lblID");
但我得到的grdSelRow为空


如何在单击gridview的linkbutton时获取所选行?

问题是,当您在gridview中单击按钮时,该行将仅为单击的行,而不是
SelectedRow
。如果要使其成为SelectedRow,必须在按钮的标记中指定
CommandName=“Select”

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

为ItemTemplate内的LinkButton关联onclick事件

加价

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" runat="server" 
                    Text="Click1" 
                    OnClick="LinkButton1_Click"/>
    </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton2" runat="server" 
                    Text="Click2" 
                    CommandName="MyCustomCommand"/>
    </ItemTemplate>
</asp:TemplateField>
使用RowCommand捕捉链接按钮单击

加价

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

+1@Naveen用于指定“如果要使其成为SelectedRow,则必须在按钮的标记中指定CommandName=“Select”@Naveen在gridview中显示javascript确认之前如何标记选择?如果在“确认”对话框中单击“取消”,则在显示“确认”弹出窗口之前,我看不到当前选定的行,也看不到选定的行。@Dasariramacharanpasad:您能详细说明一下并作为一个问题询问吗。我不完全理解。@naveen我们如何使用javascript标记网格行选择?我们是否可以调用任何Asp.net javascript方法/或任何方式使一行成为选中的,但不想对该行中的按钮单击执行任何操作(因为用户在javascript确认弹出窗口中取消)?