C#Gridview禁用onRowCommand回发

C#Gridview禁用onRowCommand回发,c#,asp.net,.net,gridview,C#,Asp.net,.net,Gridview,我希望能够在gridview中选择一行或多行,以便能够在对象中存储多行数据,然后使用对象列表执行所需的任何操作 在ASP代码中,我有一个标准的gridview和一个TemplateField,其中包含一个ItemTemplate,我已将其放置在按钮上。命令名为Switch(这与C#有关)。下面是我的templateField代码(我尝试了AutoPostBack=“False”,但在这种情况下不起作用) 现在,我已经获得了正确的值,并且可以为单击一个按钮做我需要做的事情,但问题是,我不能只选择多

我希望能够在gridview中选择一行或多行,以便能够在对象中存储多行数据,然后使用对象列表执行所需的任何操作

在ASP代码中,我有一个标准的gridview和一个TemplateField,其中包含一个ItemTemplate,我已将其放置在按钮上。命令名为
Switch
(这与C#有关)。下面是我的templateField代码(我尝试了
AutoPostBack=“False”
,但在这种情况下不起作用)

现在,我已经获得了正确的值,并且可以为单击一个按钮做我需要做的事情,但问题是,我不能只选择多行,而只能选择一行,因为当我单击一次按钮时,页面会一直启动

我相信理想情况下,我会想禁用此自动回发,并在这种情况下手动添加它


如果您有任何建议,我们将不胜感激,谢谢您

我使用复选框找到了解决问题的好方法,下面的链接就是我使用的


我使用复选框找到了解决问题的好方法,下面的链接就是我使用的


将数据键添加到GridView中,以便轻松识别行的对象。在每行中添加一个复选框,然后将您的按钮放在GridView之外…当单击按钮时,您可以在每行中循环,找到该行的复选框控件并确定是否选中了…如果选中了,请抓取数据键并获取所需的对象。这听起来很有希望,您在这方面获得了一个粗略的示例?感谢您的想法和帮助,我回答了自己的问题,并链接了一个关于这类事情的便捷指南。感谢您的IDEA将数据键添加到GridView中,这样您就可以轻松地识别该行的对象。在每行中添加一个复选框,然后将您的按钮放在GridView之外…当单击按钮时,您可以在每行中循环,找到该行的复选框控件并确定是否选中了…如果选中了,请抓取数据键并获取所需的对象。这听起来很有希望,您在这方面获得了一个粗略的示例?感谢您的想法和帮助,我回答了自己的问题,并链接了一个关于这类事情的便捷指南。谢谢你的创意广告!当我提出“自己做一些研究”的想法时,我并不想表现得粗鲁——但这是最好的学习方式。给别人指出正确的方向比为他们做更好。哦,不,不,你帮了忙,而且没有粗鲁,我需要的只是一个新的想法。谢谢,现在我知道如何更好地使用GridView了:D,谢谢John。很高兴听到这个消息!当我提出“自己做一些研究”的想法时,我并不想表现得粗鲁——但这是最好的学习方式。给别人指出正确的方向比为他们做更好。哦,不,不,你帮了忙,而且没有粗鲁,我需要的只是一个新的想法。谢谢,现在我知道如何更好地使用GridView了:D,谢谢John。
<asp:TemplateField>
    <ItemTemplate>
        <asp:Button CssClass="buttonStuff" Text="Switch" runat="server" CommandName="Switch" CommandArgument="<%# Container.DataItemIndex %>" AutoPostBack="False" />
    </ItemTemplate>
</asp:TemplateField>
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{          
        if (e.CommandName == "Switch")
        {
           //Determine the RowIndex of the Row whose Button was clicked.
           int rowIndex = Convert.ToInt32(e.CommandArgument);

           //Reference the GridView Row.
           GridViewRow row = GridView2.Rows[rowIndex];

            //Perform what needs to do done
        }
    }