在jQuery Alert Dialogs (Alert, Confirm, & Prompt Replacements)(翻译)发布后,受到大家的很多鼓励,在这里先感谢大家。

在昨天lastwinter留言关于jConfirm的问题,如下

我趁今天有空就考虑了下。我觉得lastwinter问这个问题应该是关于ASP.NET的回传问题,这主要是jConfirm这个为CallBack回调,

他是异步的,并非同步。所以我尝试了下阻止事件的冒泡,并当选择为true是自动回传。用LinkButton测试(Button不同于这个解决的方案在后面解释)

现贴出LinkButton的CODE DEMO:

  1. 关于jConfirm回传DEMO
  2. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head runat="server">
  6. <title></title>
  7. <script src="Script/jquery-1.3.2.min.js" type="text/javascript"></script>
  8. <script src="Script/jquery.alerts-1.1/jquery.alerts.js" type="text/javascript"></script>
  9. <link href="Script/jquery.alerts-1.1/jquery.alerts.css" rel="stylesheet" type="text/css" />
  10. </head>
  11. <body>
  12. <form id="form1" runat="server">
  13. <asp:LinkButton ID="LinkButton1" runat="server" >LinkButton</asp:LinkButton>
  14. <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
  15. <div>
  16. </div>
  17. </form>
  18. <script type="text/javascript">
  19. $(document).ready(function() {
  20. $("#<%=LinkButton1.ClientID %>").click(function(event) {
  21. jConfirm("test", "test jconfirm", function(r) {
  22. if (r) {
  23. <%= Page.ClientScript.GetPostBackClientHyperlink(LinkButton1,"") %>
  24. }
  25. });
  26. event.stopPropagation();
  27. event.preventDefault();
  28. });
  29. });
  30. </script>
  31. </body>
  32. </html>
  1. LinkButton1 Button Click CODE
  2. protected void Button1_Click(object sender, EventArgs e)
  3. {
  4. this.Label1.Text = DateTime.Now.ToString();
  5. }

要为先阻止事件的冒泡event.stopPropagation();event.preventDefault(); 在jConfirm的callback回调函数中判断是否需要回传,

<%= Page.ClientScript.GetPostBackClientHyperlink(LinkButton1,"") %>;;

点击LinkButton1是效果为:

点击Cancel时候就不会回传,当ok时候就会发生回传更新时间:

对于我们的LinkButton的实现是在输出的客户端Html代码有脚本自动回传,而Button这是HTML元素submit,提交,

所以在这两个的区别下,LinkButton就多了几处javascript 代码:

  1. <script type="text/javascript">
  2. //<![CDATA[
  3. var theForm = document.forms['form1'];
  4. if (!theForm) {
  5. theForm = document.form1;
  6. }
  7. function __doPostBack(eventTarget, eventArgument) {
  8. if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
  9. theForm.__EVENTTARGET.value = eventTarget;
  10. theForm.__EVENTARGUMENT.value = eventArgument;
  11. theForm.submit();
  12. }
  13. }
  14. //]]>
  15. </script>
  16. 和 input Hidden
  17. <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
  18. <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />

上面所说的意思就是如果要用Button实现同样的示例,我们必须保证我的输出客户端的代码有这些回传脚本注册,还有就是回传为

<%=Page.ClientScript.GetPostBackEventReference(Button1,"") %>。所以我觉得用LinkButton更适合。

转载于:https://blog.51cto.com/whitewolfblog/834341

关于jConfirm回传的解决方案相关推荐

  1. jQuery系列之目录汇总

    一:jQuery基础系列: jQuery温习篇---强大的JQuery选择器 jQuery之工具函数 jQuery之筛选函数 jQuery1.4.2新特性(翻译) jQuery Ajax 回顾 jQu ...

  2. 国外赛事直播加速案例

    赛事保障网络加速案例分享 项目背景 2018年平昌冬季奥运会(The 2018 Winter Olympics in Pyeongchang )第23届冬季奥林匹克运动会,简称"平昌冬奥会& ...

  3. 5G全产业链最新解读

    来源:中创产业研究院 摘要:自5G概念的提出,各国相关技术的研发以及产业布局也在如火如荼进行之中.与此同时我国5G在标准研发上正逐渐成为全球领跑者,有望在2019年实现5G技术的试商用,在2020年实 ...

  4. 5G中传和回传的承载解决方案

    [摘要]为了探讨5G中传和回传网络承载解决方案,在分析5G移动网络新频谱.新架构和新业务模式承载需求的基础上,针对5G中传和回传网络,提出DC+IPRAN云网一体的综合承载解决方案,从多级DC网络架构 ...

  5. EasyDSS流媒体视频实时回传与录像管理解决方案

    一.背景 1.1 方案背景 随着互联网基础设施建设的不断完善和发展,带宽的不断提速,尤其是光纤入户,4G/5G/NB-IoT各种技术的大规模商用,视频在各行各业越来越受到重视,无论是传统的视频媒体转向 ...

  6. EasyDSS流媒体实时视频回传与录像管理解决方案

    一.背景 1.1 方案背景 在视频应用中,实时视频回传.应急指挥调度是非常重要的应用功能,随着互联网基础设施建设的不断完善和发展,带宽的不断提速,尤其是光纤入户,4G/5G/NB-IoT各种技术的大规 ...

  7. 无人机电网线路巡检有哪些优势?分享高效的图像实时回传解决方案

    随着科技的高速发展,相关数据和图像资料表明,在观察输电线路设备运行情况时,无人机技术可以起到相当关键的作用,大大减轻了电力员工的作业负担.通过无人机电力巡检,可以清楚判断重要部件是否受到损坏,保证输电 ...

  8. socket 获取回传信息_基于netty框架的socket长连接负载均衡解决方案 oswl

    前言 物联网如今是一个大的趋势,但是概念还比较新颖.大家对这一块的技术积累也比较匮乏,借此前段时间摩拜单车出现了大规模瘫痪的现象.我们今天来讨论一下物联网项目的开发方式. 关于tcp/ip 相关的知识 ...

  9. GridView隐藏列取值解决方案

    [摘要] 在Asp.net 2.0中增加了一个新的数据绑定控件:GridView,其目的用来取代Asp.net1.x中的DataGrid控件,但有一点很不爽的是,如果把某列设置为visible=fal ...

最新文章

  1. 【实验】配置802.1x远端认证
  2. python基础入门:内置函数之排列组合函数教程
  3. C/C++基础知识点(一)
  4. 关于SSL证书配置、升级的一些问题总结
  5. java使用poi实现大数据量导出为EXCEL
  6. python开发学习记录
  7. 提出建议Do you want to..._44
  8. Java实现Excel数据导入数据库
  9. 如何暴力破解wifi密码
  10. 服务器系统安装打印机,windows server 2012 R2安装打印机驱动提示系统资源不足
  11. 字符串与Unicode编码相关转换
  12. 免费好用的流程图软件yed
  13. USB,蓝牙,以太网,还是WIFI?
  14. itunes未能连接到iphone软件更新服务器,iTunes无法联系iphone软件更新服务器 不可连接解决方法...
  15. excel中vlookup函数的使用方法_Excel教程:函数VLOOKUP实用技巧
  16. Android Camera开发系列:设置对焦模式模式
  17. 计算机毕业设计ssm煤炭资源交易竞拍平台6f62h系统+程序+源码+lw+远程部署
  18. Linux——Bash Shell脚本 for循环
  19. aptos中文版白皮书-前Facebook团队打造明星公链,三个优势:Move语言、Move虚拟机、合约可升级
  20. Struts2 S2-016/S2-017 命令执行带回显、看web路径、getshell e...

热门文章

  1. 深入理解JAVA序列化
  2. HTML5学习笔记(二):HTML基础学习之一
  3. 控制网页的Panel是否显示
  4. AsyncTask进度条加载网站数据到ListView
  5. ewebeditor 上传大内容文本注意点
  6. GCD BZOJ2818 [省队互测] 数学
  7. 小程序网络最大并发限制解决思路
  8. 怎样在linux上部署web服务器
  9. 乐观锁和悲观锁的区别(最全面的分析)
  10. dbus-launch(转)