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

转载 2007年09月29日 21:45:00
在CSDN上经常看到大家讨论如何在ASP.NET中用后台代码中弹出对话框的问题,一般的解决办法就是用Response.Write写一段脚本代码来弹出对话框,可问题是当对话框弹出后,页面却一片空白。这里讲述的办法就是在弹出对话框的同时保持页面的显示。(其它办法如RegisterClientScriptBlock()、RegisterStartupScript()也有一些限制,就不多说了)



【原理】

在页面上放置一隐藏控件,并在页面最后放上一段脚本代码,脚本代码检测隐藏控件的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(),以弹出功能更丰富,界面更漂亮的窗口。 
 

相关文章推荐

移动端页面弹出对话框效果Demo

核心思路:设置一个隐藏的(display:none;)、背景偏暗的div及其子div作为对话框,当点击某处时,将此div设置为显示。 核心代码如下(部分js代码用于动态调整div内容的行高,这部分代...

页面弹出各种对话框的代码

  • 2011年04月20日 13:55
  • 334KB
  • 下载

结合jQuery的unload方法实现JS退出页面弹出对话框

http://www.rainweb.cn/article/113.html 注:经验证有效。 如果在退出页面时需要弹出对话框,提示用户将要退出页面,类似当设置某个功能时而没有保存...
  • zxygww
  • zxygww
  • 2015年08月13日 16:23
  • 1191

Servlet 页面跳转 并弹出提示对话框

简单逻辑:简单的登录验证模块点击登录进入相应的Servlet,Servlet调用bean验证用户名是否存在如果存在则登录成功,跳转如果不存在则弹出错误对话框,并回到登录页面 开始用的下面两句话 out...

点击新增按钮,弹出对话框,并且对话框加载另外一个页面的内容的具体实现

今天在做一个功能的时候,我要实现:点击新增按钮,弹出对话框,并且对话框加载另外一个页面的内容 具体实现如下: 1、新增按钮的实现代码(js部分): //弹出框跳转页面 function toP...

ASP.NET 弹出对话框和页面之间传递值的经验总结

asp.net弹出对话框(PopUp dialog)的问题

web前端页面三种弹出对话框的用法实例

三种弹出对话框的用法实例 function ale() { //这个基本没有什么说的,就是弹出一个提醒的对话框 alert("我敢保证,你现在用的是演示一"); } function...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:弹出对话框的同时保持页面的显示
举报原因:
原因补充:

(最多只允许输入30个字)