DataGrid 的 attributes.add 问题:我想点击删除按钮先弹出对话框,不成功阿!各位帮帮忙

comszsoft 2005-01-12 03:24:43
用了很多办法都不行:
1、
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
foreach(DataGridItem dgi in dgUser.Items)
{
dgi.Cells[4].Attributes.Add("onclick","javascript:return window.confirm('are you sure?');");
}
}

2、
private void dgUser_ItemDataBound(object sender,DataGridCommandEventArgs e)
{
if(e.CommandName=="Delete")
{
e.Item.Attributes.Add("onclick","javascript:return window.confirm('are you sure?');");
}
}

上面两个办法都没有起作用,一点反应都没有,什么弄阿,谢谢拉


...全文
175 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fwq11223344 2005-01-12
  • 打赏
  • 举报
回复
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if((e.Item.ItemType==ListItemType.Item)||(e.Item.ItemType==ListItemType.AlternatingItem)||(e.Item.ItemType==ListItemType.SelectedItem))
{ //删除确认
LinkButton delBttn = (LinkButton) e.Item.Cells[4].Controls[0];
delBttn.Attributes.Add("onclick","javascript:return confirm('你确定删除吗?删除后将不能恢复,你确认吗?');");
}
}
fwq11223344 2005-01-12
  • 打赏
  • 举报
回复
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if((e.Item.ItemType==ListItemType.Item)||(e.Item.ItemType==ListItemType.AlternatingItem)||(e.Item.ItemType==ListItemType.SelectedItem))
{ //删除确认
LinkButton delBttn = (LinkButton) e.Item.Cells[5].Controls[0];
delBttn.Attributes.Add("onclick","javascript:return confirm('你确定删除"+e.Item.Cells[1].Text+"吗?删除后将不能恢复,你确认吗?');");
}
}
thinhunan 2005-01-12
  • 打赏
  • 举报
回复
正解:
在datagrid 的数据绑定事件中写入如下内容
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton lbDel = (LinkButton)e.Item.FindControl("ibtnDelete");
lbDel.Attributes.Add("onclick", "javascript:return window.confirm('确定删除此吗?');");
}
changlin365 2005-01-12
  • 打赏
  • 举报
回复
在datagrid 的itemcreate事件中写入如下内容
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
ImageButton lbDel = (ImageButton)e.Item.FindControl("ibtnDelete");
lbDel.Attributes.Add("onclick", "return confirm(\"确定删除此吗?\");");
}
看看要就发发 2005-01-12
  • 打赏
  • 举报
回复
赶快结了
ldljlq 2005-01-12
  • 打赏
  • 举报
回复
属性加错了地方,是加到控件上,不是列上。
welshem 2005-01-12
  • 打赏
  • 举报
回复
可以直接在DataGrid绑定之后
foreach(DataGridItem dgi in dgUser.Items)
{
((Button或LinkButton)dgi.Cells[4].Controls[0]).Attributes.Add("onclick","return(confirm('are you sure?'));");
}
comszsoft 2005-01-12
  • 打赏
  • 举报
回复
谢谢各位,试试看先
spland 2005-01-12
  • 打赏
  • 举报
回复
brightheroes(闭关|那一剑的风情) 的方法可用
tokilcoom 2005-01-12
  • 打赏
  • 举报
回复
...
brightheroes 2005-01-12
  • 打赏
  • 举报
回复
private void dgUser_ItemDataBound(object sender,DataGridCommandEventArgs e)
{

if(e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton lb = (LinkButton)e.Item.FindControl("yourButtonId");
lb.Attributes.Add("onclick","javascript:return window.confirm('are you sure?');");
}
}


注意,我是用LinkButton模拟,如果你是其他的Button,请自己转换
brightheroes 2005-01-12
  • 打赏
  • 举报
回复
方法1的错误在于你把这个confirm加载到了单元格上,而不是控件上
方法2的错误在于这个方法发生在点击之后

dcren118 2005-01-12
  • 打赏
  • 举报
回复
ItemCreated事件!
baddot 2005-01-12
  • 打赏
  • 举报
回复

private void dgUser_ItemDataBound(object sender,DataGridCommandEventArgs e)
{
if(e.CommandName=="Delete")
{
e.Item.Cells[3].Attributes.Add("onclick","javascript:return window.confirm('are you sure?');");
}
}
comszsoft 2005-01-12
  • 打赏
  • 举报
回复
忘了说了,第0列是模板,第4列是 删除 ,帮帮忙各位

62,242

社区成员

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

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

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

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