处女贴——关于GridView删除确认?

simao21 2007-06-07 09:54:55
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)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
//((LinkButton)e.Row.Cells[0].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");

}
}
}
我这样写有错吗。运行时提示我“无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.LinkButton”。”
...全文
1036 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
simao21 2007-06-07
  • 打赏
  • 举报
回复
我再想想办法吧。谢谢各位了。接分吧。
simao21 2007-06-07
  • 打赏
  • 举报
回复
Jinglecat(晓风残月) 兄啊,这个问题我很无奈啊,你的方法我也试过了。问题同样。。。。。。。。。。。。。。。。。
不知道为什么?
Jinglecat 2007-06-07
  • 打赏
  • 举报
回复
楼上二位的方法我都试过了。出现一样的问题。不管确认还是取消,都执行删除了?

-------------
1。
加上的js代码要这样

if(!confirm('确定删除?')) return false;

2。
asp.net 2.0 推荐使用内联页面声明方式,简单,如
<asp:gridview
<columns>
<asp:templatefield>
<itemtemplate>
<asp:linkbutton onclientclick="if(!confirm('确定删除?')) return false;"


asp.net 1.x 因为没有 onlientclick 属性,使用编码这样设置了:
myButton.Attributes["onclick"] = "if(!confirm('确定删除?')) return false;";


simao21 2007-06-07
  • 打赏
  • 举报
回复
上面的问题已经解决了。现在是不管我点“确认”还是“取消”都执行删除
现在的代码改成这样的:
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)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
e.Row.Cells[3].Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[0].Text + "\"吗?')");

}
}
}
impeller 2007-06-07
  • 打赏
  • 举报
回复
好象下标要是1
simao21 2007-06-07
  • 打赏
  • 举报
回复
楼上二位的方法我都试过了。出现一样的问题。不管确认还是取消,都执行删除了?
simao21 2007-06-07
  • 打赏
  • 举报
回复
yayx(yayx) 的方法我试过了。可以运行,不过不管我点 确定,还是取消,都执行删除了??
ssy888 2007-06-07
  • 打赏
  • 举报
回复
把gridview的删除列转换成模版列.点开item template 里面的linkbutton的属性有个OnClientClick,在那里面加就行了..不用后台写.不知道有没有理解对你的意思.
yayx 2007-06-07
  • 打赏
  • 举报
回复
检查检查是不是在第0列第0个Control
e.Row.Cells[0].Controls[0])这个引用有问题
可以试试给LinkButton一个id然后用e.Row.Cells[0].FindControl("btnxxx") as LinkButton来找到LinkButton
simao21 2007-06-07
  • 打赏
  • 举报
回复
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)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
((LinkButton)e.Row.Cells[0].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");

}
}
}

62,047

社区成员

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

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

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

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