问题的由来:
点击删除的按纽列,想在删除前,有确认的提示框。
翻阅来以前的帖子,有两种办法:一种是JavaScript,在aspx前台加;另一种是在cs文件给删除按纽加上Attributes第一种能成功,但第二种却试了半天都没弄成,报错信息:
System.NullReferenceException: 未将对象引用设置到对象的实例行 117:
行 118: LinkButton btn = (LinkButton)e.Item.FindControl("Delete");
行 119: btn.Attributes.Add("onclick", "return confirm('你是否确定删除这条记录');");
行 120:
行 121: Response.Write ("开始进行删除操作。");
 
cs相关代码:
private void myDataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
LinkButton btn = (LinkButton)e.Item.FindControl("Delete");
btn.Attributes.Add("onclick", "return confirm('你是否确定删除这条记录');");
Response.Write ("开始进行删除操作。");
}
aspx相关代码:
<asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
报错应该是,没有找到叫Delete的LinkButton 吧?
但在aspx文件中,CommandName是Delete啊,现在思路很混乱,错在哪儿,请大虾指点。。

解决方案 »

  1.   

    看看你的aspx是不是少ruanat=server
    再者看看是不是名字正确!!
    祝好运!!
    <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
    --->>>>
    <asp:ButtonColumn Text="删除" CommandName="Delete" ruanat=server></asp:ButtonColumn>
      

  2.   

    对不起:
    是 <asp:ButtonColumn Text="删除" CommandName="Delete" Runat=server></asp:ButtonColumn>
      

  3.   

    LinkButton btn = (LinkButton)e.Item.FindControl("Delete");
    应该是
    LinkButton btn = (LinkButton)e.Item.Cell["按钮所在的列数-1"].FindControl("Delete");
      

  4.   

    aspx相关代码:
    <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
    报错应该是,没有找到叫Delete的LinkButton 吧?LinkButton btn = (LinkButton)e.Item.FindControl("Delete");
    问题可能是这里,那个FindControl后面的括号应该是你要的控件的ID,你从自动完成的提示里应该看的出来的
      

  5.   

    看看
    http://blog.csdn.net/czhenq/archive/2004/08/21/80784.aspx
      

  6.   

    CommandName="Delete" 和ID不是一回事吧,
    而且你private void myDataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    在这里写也不必实例.
    直接用就可以
      

  7.   

    LinkButton btn = (LinkButton)e.Item.FindControl("Delete");

    LinkButton btn = (LinkButton)e.Item.Cells[xx].Controls[0];
      

  8.   

    给出 http://blog.csdn.net/czhenq/archive/2004/08/21/80784.aspx 地址的那位朋友,谢谢你,不过我这个不是模板列,而是按纽列
    (我问题的标题就是,不知道如何访问按纽列)
      

  9.   

    应该是没找到delete这个控件的原因
      

  10.   

    http://blog.csdn.net/czhenq/archive/2004/08/31/90229.aspx
      

  11.   

    不公平啊!
     shenghuay的答案和我一样啊!