日期:2014-05-19  浏览次数:20836 次

奇怪的问题,同样的代码执行结果却不一样,大家帮帮忙
GRIDVIEW中的删除问题~~
我用下面的代码实现删除
                string   did;                            
                did   =   GridView1.DataKeys[e.RowIndex].Values.ToString();
                SqlConnection   cnn   =   new   SqlConnection(strconnect);
                cnn.Open();
                SqlCommand   cmd   =   new   SqlCommand( "delete   from   PI   WHERE   PI.ID=@did ",   cnn);
                cmd.Parameters.Add(new   SqlParameter( "@did ",   did));
                cmd.ExecuteNonQuery();
                cnn.Close();
                BindGrid();
可是点击删除根本没反应,这是为什么?怎么解决?
谢谢大家

<asp:TemplateField   HeaderText= "删除 "   ShowHeader= "False ">
          <ItemTemplate>
          <asp:ImageButton   ID= "ImageButton1 "   runat= "server "     CausesValidation= "False "   CommandName= "Delete "
                                ImageUrl= "~/Images/delete.gif "   OnClientClick   = "return   confirm( '您确认删除该记录吗? '); "/>
                        </ItemTemplate>

------解决方案--------------------
用sql的监视器看看sql命令
------解决方案--------------------
把你的代码贴全一点
------解决方案--------------------
代码貌似没问题。。。did取得的值不对吧。跟踪下。
------解决方案--------------------
顶下
------解决方案--------------------
看来关键在:
BindGrid();
看看绑定的代码吧
------解决方案--------------------
SQL语句没有问题,页面代码也没有问题!

首先确认2点:
1.你的页面是单独的,还是通过window.show或者window.showmodal显示的?
2.看你的GridView的删除时间有没有实际绑定到GridView去,这个通常在InitializeComponent函数进行绑定。