GridView控件模板列中删除事件

Eagle_ice 2008-10-03 05:30:27
我想在点击删除按钮后 用javacript弹出一个确认框提示是否删除,点击确定执行删除,点击取消不改变
在DataGrid中可以这样实现
protected void DataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
e.Item.Cells[index].Attributes.Add("onclick", "javascript:return confirm('确定删除?');");
}
那么在GridView中如何实现,在什么事件中添加呢?
后台代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class UserManage2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = DB.createDB();
con.Open();
SqlCommand cmd = new SqlCommand("select * from Users", con);
SqlDataReader sdr = cmd.ExecuteReader();
GridView1.DataSource = sdr;
GridView1.DataBind();
con.Close();
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string commandName = e.CommandName;
int nUserID = -1;
if (int.TryParse(e.CommandArgument.ToString(), out nUserID) == false)
{
return;
}
if (commandName == "delete")
{
SqlConnection con = DB.createDB();
con.Open();
SqlCommand cmd = new SqlCommand("delete from Users where UserID="+nUserID, con);
int result = 0;
result=cmd.ExecuteNonQuery();
if (result > 0)
{
Response.Write("<script>alert('恭喜您,删除成功!')</script>");
}

}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{

}
}

...全文
322 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
smmlfl 2008-10-05
  • 打赏
  • 举报
回复
GridView点击编辑事件后,出现的文本框能不能调整大小
Eagle_ice 2008-10-03
  • 打赏
  • 举报
回复
谢谢朋友们的回答 回答的都是正确的 采用了4楼的做法
结帖 散分...
suchcl 2008-10-03
  • 打赏
  • 举报
回复
<asp:TemplateField HeaderText="删除" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
OnClientClick='return confirm("确认要删除吗?")' Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
jikun6666 2008-10-03
  • 打赏
  • 举报
回复
学习一下
suchcl 2008-10-03
  • 打赏
  • 举报
回复
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
OnClientClick='return confirm("确认要删除吗?")' Text="删除"></asp:LinkButton>
</ItemTemplate>
suchcl 2008-10-03
  • 打赏
  • 举报
回复
把删除按钮列编辑为模板列,在按钮列的OnClientClick属性添加js代码。
  • 打赏
  • 举报
回复
我经常会写:

OnClientClick="if(!confirm('真的要删除吗?')){alert('放弃删除。');return false;}"

不论删除与不删除,都给一个反馈。
hornbills 2008-10-03
  • 打赏
  • 举报
回复

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

'避免操作头行或者尾行
If e.Row.RowType = DataControlRowType.DataRow Then
Dim lb As LinkButton
lb = e.Row.FindControl("LinkButton1")
lb.Attributes.Add("onclick", "javascript:return confirm('您准备删除这条记录吗?')")
End If
End Sub




protected void GridView1_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{

//避免操作头行或者尾行
if (e.Row.RowType == DataControlRowType.DataRow) {
LinkButton lb = default(LinkButton);
lb = e.Row.FindControl("LinkButton1");
lb.Attributes.Add("onclick", "javascript:return confirm('您准备删除这条记录吗?')");
}
}

  • 打赏
  • 举报
回复
在设计窗口点击GridView右上角的“GridView任务->编辑列->Command Field->"删除"->添加->将此字段转换为 template field->确定”,然后转到设计源窗口,为刚刚增加的删除按钮空间增加一个属性

OnClientClick="if(!confirm('真的要删除吗?'))return false"

得到的结果类似于:

<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
CommandName="Delete" Text="删除" OnClientClick="if(!confirm('真的要删除吗?'))return false"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
namhyuk 2008-10-03
  • 打赏
  • 举报
回复
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="***" runat="server" OnClientClick="return confirm('真的啊?');" ...
...

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧