zoukankan      html  css  js  c++  java
  • 通过confirm结果作流程判断的简单应用

    最近在做一个添加功能,需要判断某某项是否被添加过,然后给出提示用户,根据用户选择的结果判断是否继续添加,然后选取消又有另外的逻辑.实现这功能当然是用js的confirm对话框,但是问题在于如何获取confirm的结果,毕竟是在客户端触发的,还得把结果传回服务器.在网上查了些资料,说用一个隐藏的htmlbutton,然后调用 __doPostBack来在客户端触发,这个方法确实可行,但是前提是不需要传递参数的情况,也就是__doPostBack的第二个参数用不上,即使给定也无法获取.其实这个参数的获取是要通过控件其本身得到,外部比如想通过click事件是得不到得.而控件其实是继承了IPostBackEventHandler,然后在RaisePostBackEvent中获取这个参数,因此想要实现回发又要得到不同的参数,只能让页面IPostBackEventHandler接口,问题也就迎刃而解.
    解决方案如下
    1.设置Page指令中 EnableEventValidation="false",否则会提示错误,具体请看MSDN
    2.给Page继承IPostBackEventHandler接口,实现public void RaisePostBackEvent(string eventArgument)方法
    Code1
    3.然后在需要的地方注册回发脚本,点击确认将执行RaisePostBackEvent里的逻辑,jsCancel用于触发是一个隐藏的按钮的回发事件,比如取消操作
    RegisterPostbackScript

    另外ClientScript注册RegisterClientScriptBlock的脚本是在执行完所有server端的代码之后才执行客户端脚本的,
    并不是想象的那样循环一次执行一个confirm,可能会对某些业务逻辑有些限制.
    当然解决方案还是有很多的,也可考虑用AJAX技术,学习中......
  • 相关阅读:
    程序员与HR博弈之:有城府的表达你的兴趣爱好
    也谈创业企业CEO该拿多少工资
    今日互联网关注(写在清明节后):每天都有值得关注的大变化
    另眼看纸媒电商的发展
    今日互联网关注(20140331):善待和你裸婚的员工
    看着烧了十几亿的打车软件,我们能跟着模仿点什么?
    一款云端开发环境平台,思考互联网产品模式
    2018年的医保控费思路
    新形势下国家医疗保障局信息化建设注意点(五)强化监管信息化
    新形势下国家医疗保障局信息化建设注意点(四)推进电子医保卡
  • 原文地址:https://www.cnblogs.com/shenba/p/1009507.html
Copyright © 2011-2022 走看看