<asp:BoundField DataField="pid" HeaderText="节目编号" InsertVisible="False" 

<ItemTemplate> 
    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"  Text="删除" OnClientClick='<%# "if (!confirm(\"你确定要删除" + Eval("pid").ToString() + "吗?\")) return false;"%>'>
    </asp:LinkButton> 
 </ItemTemplate> 
每行后面都有删除点击删除后删除数据库编号为Eval("pid")的数据请教点击确定(怎么样判断点的确定)后后台代码怎么写? 最好能给小段代码 谢谢

解决方案 »

  1.   

     <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" OnClientClick="return window.confirm('确定要删除?');">LinkButton</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>    protected void LinkButton1_Click(object sender, EventArgs e)
            {
                ScriptManager.RegisterStartupScript(this,this.GetType(),"","alert('你点了确定!')",true);
    }
      

  2.   

    在你做数据绑定的时候就给它附上
    GridViewEmp是GridView的ID
     foreach (GridViewRow gvr in GridViewEmp.Rows)
                    {
                        LinkButton lb = (LinkButton)gvr.FindControl("lbDelet");
                        lb.Enabled = true;
                        lb.Attributes["onclick"] = "return confirm('确定删除?')";
                    }
      

  3.   

    Up
    也可以设置CommandName
    <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="return window.confirm('确定要删除?');" CommandName="delete" CommandArgument="<%Eval("pid")%>">LinkButton</asp:LinkButton>
    if(e.CommandName="delete")
    {
      int id = (int)e.CommandArgument;
      ...
    }
      

  4.   

    你可以参考这种方法
    http://dotnet.aspx.cc/file/Add-confirm-dialog-with-ButtonField-Column-of-GridView.aspx
      

  5.   

    本帖最后由 net_lover 于 2010-10-08 14:24:06 编辑
      

  6.   

    怎么从后台获得当前行的pid呢?             怎么绑Eval("pid")
      

  7.   

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
      int index=e.RowIndex ;
      GridViewRow gvr=GridView1.Rows[index];
      str1 = gvr.Cells[1].Text;
    }protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
    {
      if (e.Exception == null)
      Message.Text += "<br>您成功删除了"+str1 ;
      else
      Message.Text += "删除失败";
    }
      

  8.   

    <%@ Page Language="C#" Debug="true" EnableViewState="true" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
      
      // 计算数据,完全可以从数据看取得
      ICollection CreateDataSource()
      {
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("id", typeof(System.Int32)));
        dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("Score", typeof(System.Double)));
        System.Random rd = new System.Random();
        for (int i = 0; i < 10; i++)
        {
          dr = dt.NewRow();
          dr[0] = i * i;
          dr[1] = "【孟子E章】" + i.ToString();
          dr[2] = System.Math.Ceiling(rd.NextDouble() * 1000);      dt.Rows.Add(dr);
        }
        System.Data.DataView dv = new System.Data.DataView(dt);
        return dv;
      }  protected void Page_Load(object sender, EventArgs e)
      {
        GridView1.DataSource = CreateDataSource();
        GridView1.DataBind();
      }
      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
      {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
          LinkButton l = e.Row.FindControl("LinkButton1") as LinkButton;
          l.OnClientClick = "return confirm('要删除 " + DataBinder.Eval(e.Row.DataItem, "id") + "')";
          l.CommandArgument = DataBinder.Eval(e.Row.DataItem, "id").ToString();    }
      }
      protected void LinkButton1_Click(object sender, EventArgs e)
      {    LinkButton l = sender as LinkButton;
        Label1.Text = "你选择的行 ID = " + l.CommandArgument;
      }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title></title>
    </head>
    <body>
      <form id="form1" runat="server">
      <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"
        AutoGenerateColumns="false" DataKeyNames="id">
        <Columns>
          <asp:BoundField DataField="id" HeaderText="Id" />
          <asp:BoundField DataField="Name" HeaderText="姓名" />
          <asp:BoundField DataField="Score" HeaderText="Score" />
          <asp:TemplateField>
            <ItemTemplate>
              <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" Text="删除"
                OnClick="LinkButton1_Click">
              </asp:LinkButton>
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      <asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="#FF3300" Text=""></asp:Label>
      </form>
    </body>
    </html>
      

  9.   

      protected void LinkButton1_Click(object sender, EventArgs e)
      {
       GridViewRow row = (sender as LinkButton).Parent.Parent as GridViewRow;
                string id = row.Cells[0].Text; //假设你的pid在第一列
      ScriptManager.RegisterStartupScript(this,this.GetType(),"","alert('你点了确定!')",true);
    }
      

  10.   

    GridView有rowdelete和rowediting方法
      

  11.   

    protected void GridView1_RowDataBound1(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[11].Controls[1].FindControl("LinkButton2"))).Attributes["onclick"] = "if(!confirm('你确认要删除 " + e.Row.Cells[1].Text + " 吗?')) return false;";
                }
            }
        }点击删除的后台代码
     protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string strsql = "delete from  room  where ID='" + GridView1.DataKeys[e.RowIndex].Value + "'";
            modify.DeleteCmd(strsql);
            gvbind();
        }
      

  12.   

    你不是在前臺用了OnClientClick 事件嗎!
    OnClientClick="return confirm('确定要删除吗?')"
    後臺就不需要寫啦!
    RowCommand  在這個事件裏面調用刪除的方法就可以啦!
      

  13.   

    ASP代码 :
    <asp:TemplateField HeaderText="删除" ShowHeader="False">
                                    <ItemTemplate>
                                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
                                            OnClientClick="return confirm('您确定要删除该项吗?');" Text="删除"></asp:LinkButton>
                                    </ItemTemplate>
    然后再在GridView属性事件的RowDeleting事件添加一些C#代码:
      

  14.   

    1.写个数据库操作类 dao ,能够直接执行 sql2.执行 dao.excutesql("delete from table where id = " + pid)3.重新绑定 gridview ,即 gridview1.databind();
      

  15.   

    但是必须设置GridView 的 DataKeyNames="id"后台:
      /// <summary>
        /// 删除
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void gvMessage_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int id = Convert.ToInt32(gvMessage.DataKeys[e.RowIndex].Value.ToString());
            MessageManager.DelMessage(id);
            DisplayMessage();//重新绑定
        }或者:<asp:TemplateField HeaderText="删除" ShowHeader="False">
      <ItemTemplate>
      <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="del"  CommandArgument='<%# Eval("id") %>'
      OnClientClick="return confirm('您确定要删除该项吗?');" Text="删除"></asp:LinkButton>
      </ItemTemplate>后台: protected void gvNews_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "del")
            {
               int id =Convert.ToInt32(e.CommandArgument.ToString());
               MessageManager.DelMessage(id);
               DisplayMessage();//重新绑定        }
        }