GridView 默认模板删除提示框的问题

yht0905 2009-04-23 09:42:17
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
ForeColor="#333333" GridLines="None" OnRowDataBound="GridView1_RowDataBound"
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="身份证号码" HeaderText="用户ID" ReadOnly="True" />
<asp:BoundField DataField="姓名" HeaderText="用户姓名" />
<asp:BoundField DataField="员工性别" HeaderText="性别" />
<asp:BoundField DataField="家庭住址" HeaderText="家庭住址" />
<asp:CommandField HeaderText="选择" ShowSelectButton="True" />
<asp:CommandField HeaderText="编辑" ShowEditButton="True" />
<asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
</Columns>
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>


GridView实现删除时弹出确认对话框:
实现方法:
双击GridView的OnRowDataBound事件;
在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示:

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[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:"" + e.Row.Cells[1].Text + ""吗?')");
}
}

}
提示框的取消按钮好使,但是点击确定不进行删除了,应该怎么解决.
...全文
132 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yht0905 2009-04-23
  • 打赏
  • 举报
回复
protected void gridView_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[3].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");//Cells[6]根据帮定行确定
}

}
}
这种方式只有LinkButton有效,Button就不好使了.
yht0905 2009-04-23
  • 打赏
  • 举报
回复
怎么样转成模板列还可以使用RowDeleting事件
happy664618843 2009-04-23
  • 打赏
  • 举报
回复
DatakeysName设置没有ID
ID为数据库的主键
Row_Deleting事件写
int ID=Convert.toInt32(GridView1.Datakeys[e.RowIndex].value.ToString());
cyz9977 2009-04-23
  • 打赏
  • 举报
回复
“GridView实现删除时弹出确认对话框” 有很多種解決方法,但最簡單的一種卻很少人知道~~~

只要把CommandField 轉成模版列,然後編輯模版列,給button的OnClientClick屬性加上 return confirm('確認刪除?'); 就ok了;

而且此時原本的RowDeleting事件還可以使用。
yht0905 2009-04-23
  • 打赏
  • 举报
回复
我是用sqlDataSource 自动绑定的
dengchenlu 2009-04-23
  • 打赏
  • 举报
回复
改成模板列
然后Button 或者 LinkButton OnClientClick="return confirm('确定删除');"
downmoon 2009-04-23
  • 打赏
  • 举报
回复
确认你的绑定代码放在IsPostBack之外?

if(!Ispostback)
{BindData();
}

删除完成后再绑定

62,267

社区成员

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

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

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

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