前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvTest" runat="server" AutoGenerateColumns="False"OnRowDeleting="gvTest_RowDeleting"
BackColor="White"BorderColor="#CCCCCC"BorderStyle="None"BorderWidth="1px"CellPadding="3"Font_Size="12px"
OnRowDataBound="gvTest_RowDataBound" AllowSorting="True">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cb" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="测试名" DataField="TestMane"/>
<asp:BoundField HeaderText="测试内容" DataField = "TestContent" />
<asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
后台代码:
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
} //绑定gvTest的数据
protected void Bind()
{
SqlConnection con = DB.CreateCon();//DB是自写的公共类,可以正常执行
con.Open();
SqlDataAdapter sdr = new SqlDataAdapter("select * from test", con);
DataSet ds = new DataSet();
sdr.Fill(ds, "myTable");
gvTest.DataSource = ds;
gvTest.DataKeyNames = new String[] {"ID"};
gvTest.DataBind();
con.Close();
sdr.Dispose();
} //删除时弹出确认对话框
protected void gvTest_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
DB db = new DB();
string sql = "delete from test where id=" + gvTest.DataKeys[e.RowIndex].Value.ToString();
db.DeleteDate(sql);
Bind();
}
protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Insert)
{
((LinkButton)e.Row.Cells[3].Controls[0]).Attributes.Add("onclick", "javascript:return confirm(''你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?'')");
}
} }
}
这个是在用delete删除时,弹出确认对话框,但是不管我怎么改,都不能弹出对话框,求高手指正错误
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvTest" runat="server" AutoGenerateColumns="False"OnRowDeleting="gvTest_RowDeleting"
BackColor="White"BorderColor="#CCCCCC"BorderStyle="None"BorderWidth="1px"CellPadding="3"Font_Size="12px"
OnRowDataBound="gvTest_RowDataBound" AllowSorting="True">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cb" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="测试名" DataField="TestMane"/>
<asp:BoundField HeaderText="测试内容" DataField = "TestContent" />
<asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
后台代码:
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
} //绑定gvTest的数据
protected void Bind()
{
SqlConnection con = DB.CreateCon();//DB是自写的公共类,可以正常执行
con.Open();
SqlDataAdapter sdr = new SqlDataAdapter("select * from test", con);
DataSet ds = new DataSet();
sdr.Fill(ds, "myTable");
gvTest.DataSource = ds;
gvTest.DataKeyNames = new String[] {"ID"};
gvTest.DataBind();
con.Close();
sdr.Dispose();
} //删除时弹出确认对话框
protected void gvTest_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
DB db = new DB();
string sql = "delete from test where id=" + gvTest.DataKeys[e.RowIndex].Value.ToString();
db.DeleteDate(sql);
Bind();
}
protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Insert)
{
((LinkButton)e.Row.Cells[3].Controls[0]).Attributes.Add("onclick", "javascript:return confirm(''你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?'')");
}
} }
}
这个是在用delete删除时,弹出确认对话框,但是不管我怎么改,都不能弹出对话框,求高手指正错误
this.Button1.Attributes.Add("onClick", "javascript:return confirm('确定删除:'+e.Row.Cells[1].Text +'吗?');");
onclientclick里直接写return confirm(''你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?'')"
e.Row.Cells[1].Text换成DataBinder.eval();
直接在页面中加 onclientclick 不就完了 真麻烦
onrowdatabound="GridView1_RowDataBound"
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lb" runat="server" Text="绑定值"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>LinkButton lbtn = e.Row.FindControl("LinkButton1") as LinkButton;
Label lb = e.Row.FindControl("lb") as Label;
lbtn.Attributes.Add("OnClientClick", "javascript:return confirm('你确认要删除" + lb.Text + "吗?')");
((LinkButton)e.Row.Cells[3].Controls[0]).Attributes.Add("onclick", "return confirm('你确认要删除:" + e.Row.Cells[1].Text + "吗?')");
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Insert)