我仿照haoxiao老师的新闻系统怎么总超出所引:LinkButton btnDeletd = (LinkButton)e.Row.Cells[0].Controls[0];
所引都为0了,还是超出!!!!!??
就是给GridView的删除LinkButton按钮添加javaScrpt,代码如下:
前台:
<asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" 
>
</asp:GridView>
后台:
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindToGridView1();
}
}
protected void bindToGridView1()
{
this.GridView1.DataSource = news.getTopNews(10);
this.GridView1.DataKeyNames = new string[] { "newsid" };
this.GridView1.DataBind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//..........................
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.HasControls())
{
LinkButton btnDeletd = (LinkButton)e.Row.Cells[0].Controls[0];
;
if (btnDeletd.Text.Equals("删除"))
{
btnDeletd.Attributes.Add("onclick", "javascript:return confirm('" + string.Format("您确认要删除新闻{0}吗?", DataBinder.Eval(e.Row.DataItem, "newstitle")) + "')");
}
}
}
}

解决方案 »

  1.   

    这样修改一下代码试试:string linkbuttonname = ""; // LinkButton的IDprotected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 

    if (e.Row.HasControls()) 

    LinkButton btnDeletd = e.Row.FindControl(linkbuttonname) as LinkButton;
    if (btnDeletd != null && btnDeletd.Text.Equals("删除")) 

    btnDeletd.Attributes.Add("onclick", "javascript:return confirm('" + string.Format("您确认要删除新闻{0}吗?", DataBinder.Eval(e.Row.DataItem, "newstitle")) + "')"); 



      

  2.   

    GridView 自动生成的删除按钮ID是什么呢?呵呵不好意思,我刚学不久
      

  3.   

    而且网上好多都是这么做的呀?如: 
    http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx
      

  4.   

    你用的是自动生成列吧?那你就应该不知道Delete按钮的ID了,按照你的代码LinkButton btnDeletd = (LinkButton)e.Row.Cells[0].Controls[0]; 在这一句的地方设置断点调试一下,目前这句代码表明:在一行的第一个单元格里找第一个控件,也就是说你每行的第一个单元格里的第一个空间必须是Delete按钮。你的GridView是不是确实是这个样子的?
      

  5.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" 

    </asp:GridView> 你这里面什么都没有..你怎么Controls[0]?
      

  6.   


    AutoGenerateDeleteButton="True" 呀!
      

  7.   

    不会用模版列就等于不会用GridView