当前位置:编程学习 > C#/ASP.NET >>

datagride中ImageButton不响应ItemCommand

前台代码:

<asp:datagrid id="dgMeisai" runat="server" Width="100%" BorderColor="White" AutoGenerateColumns="False" BorderStyle="None" CellSpacing="-1">
    <HeaderStyle CssClass="fixTitle" BackColor="White"></HeaderStyle>
        <Columns> <asp:TemplateColumn
<HeaderStyle Wrap="False" HorizontalAlign="Center" Height="40px" BorderWidth="1px" Font-Bold="True" CssClass="T_Bord_A" BackColor="#facc9b"></HeaderStyle>
<ItemStyle Wrap="False" BorderWidth="1px"ItemStyle>
<ItemTemplate>
<asp:Textbox ID=txtSuryo Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"個数")%>'></asp:Textbox>
<asp:Label ID="lblPix" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"単位")%>'></asp:Label>
<asp:ImageButton ID="btnUpdate" Runat="server" ImageUrl="../images/order_detail_change.gif" CommandName="UPDATE"></asp:ImageButton>
<asp:ImageButton ID="btnOk" Runat="server" ImageUrl="../images/kakutei.gif" CommandName="OK"></asp:ImageButton>
         </ItemTemplate>
         </asp:TemplateColumn>
<asp:TemplateColumn HeaderText="金額">
<HeaderStyle Wrap="False" HeaderStyle>
<ItemStyle Wrap="False" ItemStyle>
<ItemTemplate><asp:Textbox id=txtKing  tabIndex=-1 runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"金額","{0:#,###,###,##0}")%>'></asp:Textbox><asp:Label ID="Label3" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"単位")%>'></asp:Label></ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderStyle Wrap="False"HeaderStyle>
<ItemStyle Wrap="False" ItemStyle>
<ItemTemplate>
<asp:ImageButton ID="btnDelete" Runat="server" ImageUrl="../images/order_detail_delete.gif"  CommandName="DELETE"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
     </Columns>
</asp:datagrid>

后台代码:

        Private Sub dgMeisai_ItemCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgMeisai.ItemCommand             

            Try

                txtErrorMsg.InnerText = ""              

                If (e.CommandName = "OK") Then
                    ....
                ElseIf (e.CommandName = "UPDATE") Then
                    ....
                ElseIf (e.CommandName = "DELETE") Then
                    ....
                End If

            Catch ex As Exception
                ClsLog.putErrorToLog(ex)
                Session.Contents.Remove("ERROR_MSG")
                Response.Redirect("ERROR.aspx", False)
            End Try
        End Sub

现在UPDATE和DELETE都能进入这个函数,但是OK进不到.
请大家看看问题出在哪里?
--------------------编程问答-------------------- 跟踪一下,看点这个imagebutton时e.CommandName 是什么?
--------------------编程问答-------------------- 点这个imagebutton时,根本就不进入Sub dgMeisai_ItemCommand --------------------编程问答-------------------- 你的标记有问题.

<ItemStyle Wrap="False" ItemStyle>
--------------------编程问答-------------------- <asp:TemplateColumn 后面没有内容了?
--------------------编程问答-------------------- 把aspx的column好好检查一下,应该可以的.
--------------------编程问答-------------------- 看的头晕~
看下委托有没有指定相应的处理方法 --------------------编程问答-------------------- <ItemStyle Wrap="False" ItemStyle>和<asp:TemplateColumn都是贴错了
应该是:
<ItemStyle Wrap="False"></ItemStyle>和<asp:TemplateColumn> --------------------编程问答-------------------- 太长了 看不下去 --------------------编程问答-------------------- 跟踪一下吧 

单看是没有问题的 --------------------编程问答-------------------- 你试试把这事件重新生成下,很可能事件丢失了 --------------------编程问答-------------------- 怎样才能重新生成事件?
当初是全手写的 --------------------编程问答-------------------- up --------------------编程问答-------------------- If (e.CommandName == "OK")
                         {                    ....}
                ElseIf (e.CommandName == "UPDATE") 
                       {                      ....}
                ElseIf (e.CommandName == "DELETE") 
                       {            ....            }
End If
我这样写还行 进去了 --------------------编程问答-------------------- "OK"还是进不去 --------------------编程问答-------------------- 这么久还是没有人能够解决吗? --------------------编程问答-------------------- 跟踪看一下点ok的时候哪个e.CommandName 是什么 --------------------编程问答-------------------- 点这个imagebutton时,根本就不进入Sub dgMeisai_ItemCommand --------------------编程问答-------------------- 在<asp:datagrid中加入  OnItemCommand="dgMeisai_ItemCommand">
测试试试啊,感觉ok不是控件中的关键字 --------------------编程问答-------------------- 还是进不去呀 --------------------编程问答-------------------- 已经解决,结贴
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,