在网上搜得最简单的删除确认方法是:
<div id="de" onclick="JavaScript:return confirm('确定删除吗?')">删除</div> 
这个确实有效,但是如果我想加上“确定删除用户xxx吗?”,这个最简单的方法是哪种呢?我搜来的方法是: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
          if (e.Row.RowType == DataControlRowType.DataRow)
        {
              if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
              {
                  ((LinkButton)e.Row.Cells[8].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('您确认要删除用户“" + e.Row.Cells[2].Text + "”吗?')");
              }
         }    }
这个好像稍微有点复杂,所以向大家咨询有没有更简便的方法?
例如:
 <asp:CommandField DeleteText="&lt;div id=&quot;de&quot; onclick=&quot;JavaScript:return confirm('确定删除<%# Bind("username").ToString() %>吗?')&quot;&gt;删除&lt;/div&gt; "
                    ShowDeleteButton="True" />
当然运行时有错误,呵呵,不过不知道这个思路对不对,还是写法有问题?随后上图

解决方案 »

  1.   

    protected void dgPublisher_RowCreated(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
        {
            //为删除按钮增加客户端onclick属性
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                LinkButton ib = (LinkButton)(e.Row.FindControl("Linkbutton2"));
                ib.Attributes.Add("onclick", "return confirm('您确定要删除" + e.Row.Cells[2].Text + "吗?');");
            }    }
      

  2.   

    直接在前台加啊····
    <GV>
      <columns>
          <ItemTemplete>
             <asp:LinkButton ID="lnkBtn" runat="server" OnClientClick="return confirm('Sure to delete?')" />
          </ItemTemplete>
      </columns>
    </GV>
      

  3.   

    LZ你搜出来的方法已经是很标准的解决方法了,因为不管是生成的或者手写模板列的,删除按钮都是设置按钮的CommandName=delete,然后他才会回后台执行删除方法.另外6楼写的方法也是可以的,只要他的linkbutton要加CommandName=delete才能跟你自动生成的删除列一样,调用后台的rowdeleting的方法去删除,就这么点区别,他是用模板列,自己加控件,而你找的方法是直接用生成的删除列