• 弹出对话框的同时保持页面的显示


    【IT168 技术资源】

      在ASP.NET中,用后台代码中弹出对话框,一般的解决办法都是用Response.Write写一段脚本代码来弹出对话框,可问题是当对话框弹出后,页面却一片空白。这里讲述的办法就是在弹出对话框的同时保持页面的显示。

      【原理】

      在页面上放置一隐藏控件,并在页面最后放上一段脚本代码,脚本代码检测隐藏控件的value是否为空,若不为空则弹出对话框显示信息,否则什么也不做。

      后台代码在需要的时候修改隐藏控件的value,这样当页面传到用户那时,最后的脚本代码将执行并弹出对话框。

      【注意事项】

      (1)隐藏控件必须是HTML控件,否则JavaScript无法找到。
      (2)后台代码要修改隐藏控件的值,隐藏控件自然得加上runat=”server” 标记。
      (3)在弹出对话框后,记得把隐藏控件的value置空,否则刷新的时候又会弹出来了。
      (4)脚本代码一定得放在隐藏控件的后面,否则同样找不到。

      【实现】

    页面代码(例子中只列出Body段代码)
    <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:TextBox id="manuInput" runat="server"></asp:TextBox> <asp:Button id="Button1" runat="server" Text="对话框"></asp:Button> <INPUT id="passTxt" type="hidden" runat="server"><!—隐藏控件-> </form> <script language=javascript> if( document.all("passTxt").value!="" ) { alert( document.all("passTxt").value ); document.all("passTxt").value=""; //这句可不能掉哟! } </script> </body> 后台代码(例子中只列出Button1的响应事件) private void Button1_Click(object sender, System.EventArgs e) { passTxt.Value = manuInput.Text; }

      其实这个方法很简单,不过却很有效,你可以写一个函数showDialog(string str),然后在后台代码中任何需要的地方调用以弹出对话框。

      此外,你还可以把alert换成showModelDialog(),以弹出功能更丰富,界面更漂亮的窗口。

      最后,必须得说明的是,这个方法的思想可以用来在脚本和后台代码之间传递信息,在Web Application中就是这样做,效果还不错。
  • 相关阅读:
    Java并发编程:线程池的使用
    java动态代理实现与原理详细分析
    Springmvc 横向源码原理解析(原创)
    spring事物配置,声明式事务管理和基于@Transactional注解的使用
    Spring IoC的原理为什么是反射而不是new
    Mybatis源码分析(原创)
    Springboot中做定时任务 和 Springboot API 分页
    python程序入门 基础教程
    本地的jar包添加到maven库中 jdbc举例
    基于接口隔离原则的依赖注入实现
  • 原文地址:https://www.cnblogs.com/gfwei/p/512217.html
Copyright © 2020-2023  润新知