善用标记


如图,要删除3个选择的对象,中间有一个admin对象是当前的登录用户,不能删除,怎样才能顺利的删除前后的对象,而不删除admin对象,并且提示用户不能删除该项的原因呢?如果按照一般的做法挨个儿遍历删除,遇到admin就提示用户的话,弹出客户端脚本会阻断后面循环的执行。怎么办呢?可以使用“做标记”的方式。


  int tag = 0;//建立一个记录删除的对象中是否包含当前登录用户(admin)的标记


                                if (member.ID == memberObj.ID)  //在循环中判断如果要删除的当前对象是当前用户,则不能删除(这里的条件根据实际情况填写)
                                {
                                    tag++;//进入这个方法就让标记+1
                                    continue;//跳出这次循环,继续下一次循环
                                }

最后对tag标记值进行判断,进入了一次上述方法,tag就大于0了。

  if (tag > 0)//刚才删除的对象中包含了当前登录用户(admin)
                {
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "4", "alert('删除的对象中包含了自己,未删除该项');window.location.href='" + ViewState["currentUrl"].ToString() + "'", true);
                }
                else//不包含,则 ...
                {
                    ......
                }


小结:这是一个运用标记的例子,这样的方法平常也常常使用(比如js验证密码强度),关键是用到时要想得起来。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值