今天上午写东西的时候,想实现这样的一个功能:
把一个runat="server" 的BUTTON,加上一个
客户端事件,用于询问用户是否要删除
标号为XX的行,一开始我是这样子写的
OnClientClick='return confirm("你确定要删除<%#Eval("RowID") %>的行吗?")'
以为这样确定的话就会执行服务端的事件,
结果老报JS错误,刚开始我以为是单双引号用得不正确,
后来去源看了一下,晕,居然把我写的
东西转义成这个样子
onclick="return confirm("你确定要删除<%#Eval("RowID") %>的行吗?");"
这时我就猜想是服务器端会将这些特殊字符转义掉,
无论怎么样改单双引号都会出现错误的,
网上找了很多,但是就是达不到我要的效果,
因为它们要不就只是执行客户端事件,
要不就是只是询问客户是否要删除,
并不涉及要删除哪一行,
反正都不是我想要的效果,
最终自己想到了这样的一个方法:
给Button加上一个非默认的属性,
并用Eval 或是 DataBind给它绑上,
结果如下就达到了我的要求:
<asp:Button ID="btnDel" BackColor="#b5c9f3" myname='<%# Eval("RowID") %>'
OnClientClick='return confirm("你确定要删除第 " +this.myname+" 行吗?")'
runat="server" Text="删 除" onclick="btnDel_Click" />
说得比较粗浅,可能会有些朋友看得不够明白,
但是基础好点的应该会明白我说的 ^ . ^
服务器Button实现删除提示
最新推荐文章于 2021-12-01 16:14:04 发布