开始想用类似原来 1.1 的处理方式,在 RowCreated 事件里添加,但是折腾了半天发现不行。
现在的按钮列中的控件实际上是 DataControlButton 或 DataControlLinkButton,但是不能直接用这两个类,提示保护性级别有问题,估计是 internal 的。我们可以把它转换为基类 Button 或者 LinkButton 使用,可以向其 Attributes 属性里添加 onclick 处理的提示,这样可以实现但是代码比较丑陋。
简单的办法是利用 2.0 里提供新的 OnClientClick 事件在 aspx 里面直接写。(命令按钮要用模版列)
<
asp:TemplateField
>
<
ItemTemplate
>
<
asp:LinkButton
runat
="server"
CommandName
="Delete"
OnClientClick
="return confirm('您确认要删除吗?')"
>
删除
</
asp:LinkButton
>
</
ItemTemplate
>
</
asp:TemplateField
>
如果用 Button 代替 LinkButton 也是一样的,这样写:
<
asp:TemplateField
>
<
ItemTemplate
>
<
asp:Button
runat
="server"
CommandName
="Delete"
OnClientClick
="return confirm('您确认要删除吗?')"
Text
="删除"
/>
</
ItemTemplate
>
</
asp:TemplateField
>