【问题标题】:Get selected row from the gridview in asp.net从asp.net的gridview中获取选定的行
【发布时间】:2026-01-30 00:15:02
【问题描述】:

我想从 gridview 获取 id 并使用此代码

string UserID = ((Label)grdUser.SelectedRow.FindControl("UserID")).ToString(); 网格视图代码

<asp:TemplateField HeaderText="userID" Visible="False">
                                <ItemTemplate>
                                    <asp:Label ID="UserID" runat="server" Text='<%# Bind("iduser_Detail") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>

获取错误对象引用为空

请帮帮我

【问题讨论】:

    标签: c# asp.net c#-4.0 c#-3.0 c#-2.0


    【解决方案1】:

    首先确保您在 SelectedRow 事件中写入此内容,然后

    很可能您正在编写错误的事件处理程序。

    在网格中选择一行时,您似乎正在调用它。在网格的 selectedrow 事件中编写此代码。

    您需要访问标签的方式是

    string UserID = ((Label)grdUser.SelectedRow.FindControl("UserID")).Text;

    您在上面的代码中缺少 Text 属性。

    【讨论】:

    • 啊!!当网格的单行中的任何控件引发任何事件时,就会触发 rowcommand...这里您需要在 Label 上设置 CommandArgument 以跟踪事件中的 rowIndex,因为 RowCommand 没有称为 rowIndex 的属性。看看这里 - aspsnippets.com/Articles/… 。这肯定会有所帮助。