如何在asp.net中选择行而不使用OnSelectedIndexchanged

如何在asp.net中选择行而不使用OnSelectedIndexchanged,asp.net,gridview,Asp.net,Gridview,在ASP.NET GridView控件中 是否可以在不使用OnSelectedIndexChanged事件的情况下选择行 e、 g.假设我想在GridView上为网格中的每一行设置一个名为ProcessThis的自定义按钮,然后使用OnClick方法访问选定的行值 如果无法更改,是否可以更改OnSelectedIndexChanged生成的选择按钮的文本和位置 您可以将gridview上的事件用于此目的。每次在gridview中单击按钮时,都会触发该选项 如果在标记中使用该属性,则可以从按钮的行

在ASP.NET GridView控件中

是否可以在不使用OnSelectedIndexChanged事件的情况下选择行

e、 g.假设我想在GridView上为网格中的每一行设置一个名为ProcessThis的自定义按钮,然后使用OnClick方法访问选定的行值

如果无法更改,是否可以更改OnSelectedIndexChanged生成的选择按钮的文本和位置

您可以将gridview上的事件用于此目的。每次在gridview中单击按钮时,都会触发该选项


如果在标记中使用该属性,则可以从按钮的行获取特定ID,以便处理特定行。文档中提供了示例。

您可以简单地将一个自定义按钮添加到CommandName属性为Select的GridView中。然后像往常一样使用SelectedIndexChanged事件

为什么您不想触发SelectedIndexChanged事件?请注意,即使通过调用GridView.SelectRow方法更改代码中的选定索引,也会触发此事件

是,可以选择一行而不使用 OnSelectedIndexChanged事件

您必须使用GridView事件,如

C

.aspx

您必须在GridView中使用的按钮中指定CommandName


希望您能理解并为您工作。

thanx patrick。但这并没有获得selectedrow,因为当我尝试获取行的索引时,如..if e.CommandName.ToLower==select{GridViewRow=Mygrid.selectedrow;int index=row.RowIndex;}中所示,我会得到一个异常,因为所选行为null…但您希望处理与该行相关的数据。如果您查看文档中的示例,您将看到如何获取与该行相关的数据,然后可以对其进行处理。如果要在选中数据后对其执行操作,请使用SelectedIndexChanged event.thanx joe。但这不起作用,因为selectedrow仍然为null,因此会出现异常。它起作用了。在测试之前,我忘记删除onrow命令。谢谢你的帮助,你只是重复我说的?
    protected void Gridview1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "ProcessThis")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row = Gridview1.Rows[index];
                // Do what ever you want....
            }
    }
<asp:GridView ID="Gridview1" runat="server" AutoGenerateColumns="False" 
                        onrowcommand="Gridview1_RowCommand">
                        <Columns>
                        <asp:ButtonField Text="Process This" CommandName="ProcessThis" />
                        </Columns>
                    </asp:GridView>