<asp:GridView ID="dvPostBack" runat="server" onrowcommand="dvPostBack_RowCommand" >
 <Columns>
    <asp:TemplateField Visible="false">
                       <ItemTemplate>
                          <asp:Label ID="lbl_PostbackId" Visible="false" runat="server" Text='<%#Eval("PostBack_Id") %>'></asp:Label>
                        </ItemTemplate>
                       </asp:TemplateField>   <asp:TemplateField>
      <ItemTemplate>
         .......
<asp:ImageButton ID="image1" runat="server" ImageUrl="~/images/quote.gif"  CommandName="Post_Back"  /> 
</asp:GridView> protected void dvPostBack_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Post_Back")//加断点,程序没有经过这里
            {
                foreach (GridViewRow gvr in this.dvPostBack.Rows)
                {
                    Label backid = (Label)gvr.FindControl("lbl_PostbackId");
                    ......
            }
同样我换成OnClick事件也是一样?请问代码是哪有问题?麻烦大家帮忙看看

解决方案 »

  1.   

    foreach (GridViewRow gvr in this.dvPostBack.Rows)
                    {
                        Label backid = (Label)gvr.FindControl("lbl_PostbackId");
    你点击一次按钮就要遍历整个gridView?改下:选择当前行去寻找控件
      

  2.   

    ImageButton位置放的有点问题!
      

  3.   

    你不用imageButton,直接用botton 样式用图片就行了..
      

  4.   

    你这个imagebutton放在那个模板里面了...请仔细检查.
      

  5.   

    其实很简单,CausesValidation="false"加上后就可以了,谢谢大家了