用户操作“确认”

一个好的用户界面,在用户进行数据操作前特别是进行数据的修改、删除等操作前,必须提醒用户进行确认:是否继续进行选定的操作,防止用户错误操作,对于WinForm应用程序来说非常简单,而WebForm应用相对难一点。

原理其实也很简单,就是将页面的一些会引起postback到服务器端的事件作一次客户端的确认。可以通过客户端的javascript来做到这点。你可以使用window.confirm方法来让用户确认,然后用window.event.returnValue=false;来取消掉当前事件(也就是将onclick方法取消掉,所以就不postback到服务器端,也就不执行你的更新,删除逻辑)。

1、首先在页面中添加一段JavaScript函数

None.gif   < script language = " javascript " >
None.gif
None.gif 
function  confirm_click()
None.gif {
None.gif  
var  result = window.confirm( " 你确定需要继续吗? " );
None.gif  
if (result == false )
None.gif  {
None.gif   window.event.returnValue 
= false ;
None.gif  }
None.gif }
None.gif
</ script >


2、然后在服务器端Page_load事件里面给控件加入onclick的事件处理器(VB.NET)
 btnSearch.Attributes.Add("OnClick", "confirm_click();")
或者是直接书写JavaScript代码
 btnSearch.Attributes.Add("OnClick", "return confirm(""Are you sure you want to delete?"");")
 

以上是对单个控件设置,脚本代码可以直接添加,相对简单。但是对于DataGrid中的各种按钮列,就复杂一些,但是这种应用却非常的多,例如DataGrid中的编辑列,下面说一下我的实现方法。

其实还是和前面的在单个控件上添加事件处理器一样,找到DataGrid中某列中的所有按钮控件,逐个添加事件处理器,在这里我们需要使用DataGrid的ItemCreated事件,在该事件中遍历DataGridItem中的某个(或者)所有单元格中包含的所有控件,在相应的控件上添加事件处理器,示例代码如下:

ExpandedBlockStart.gif ContractedBlock.gif      Private   Sub dgResultsGrid_ItemCreated() Sub dgResultsGrid_ItemCreated(ByVal sender As ObjectByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgResultsGrid.ItemCreated
InBlock.gif        
Dim dgi As DataGridItem = e.Item
InBlock.gif        
If (dgi.ItemType = ListItemType.Item OrElse dgi.ItemType = ListItemType.AlternatingItem) Then
InBlock.gif
' 本例只检查DataGrid的Item和AlternatingItem行
InBlock.gif
            Dim c As Control
InBlock.gif            
For Each c In dgi.Cells(2).Controls  ' 只检查第3列中包含的LinkButton控件
InBlock.gif
                If TypeOf c Is LinkButton Then
InBlock.gif                    
Dim lbc As LinkButton = c
InBlock.gif                    lbc.Attributes.Add(
"OnClick""confirm_click();")  ' 在该控件上添加事件处理器
InBlock.gif
                End If
InBlock.gif            
Next
InBlock.gif        
End If
InBlock.gif
ExpandedBlockEnd.gif    
End Sub


这样,运行的结果就是在DataGrid的所有行的第3列中的LinkButton上添加了确认代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值