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

转载 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(),以弹出功能更丰富,界面更漂亮的窗口。 
 

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

在ASP.NET中,用后台代码中弹出对话框,一般的解决办法都是用Response.Write写一段脚本代码来弹出对话框,可问题是当对话框弹出后,页面却一片空白。这里讲述的办法就是在弹出对话框的同时保持...
  • jjhua
  • jjhua
  • 2007年10月30日 08:59
  • 599

工作线程中弹出对话框

偶在线程中弹出一个非模式的对话框,但对话框弹出后就死了,一直都找不到解决的方法刚刚在论坛里找到解决的方法,呵呵,论坛就是好啊可以在工作线程中弹出对话框的,但是需要给它加上消息循环,方法如下:CDlgA...
  • hiji
  • hiji
  • 2005年11月08日 21:09
  • 888

不同的页面获取全局变量的方法

网页间传参,一种是iframe的嵌入及dialo的方式,通过window.parent.全局变量   获取全局变量 window.open方法通过window.opener.全局变量        ...
  • yjx891215
  • yjx891215
  • 2015年06月02日 20:58
  • 135

在Asp.net中弹出对话框,然后跳转到其他页面问题

在Asp.net中弹出对话框,然后跳转到其他页面问题2007-12-26 13:37在Asp.net 中弹出对话框是(Response.write不是好方法) Response.Write("aler...
  • hbqjzx
  • hbqjzx
  • 2009年09月06日 20:38
  • 481

一、打开窗口,一、使用Location属性来改变显示的页面

一、打开窗口   1、HTML     在HTML中打开一个新窗口,将target="_blank"属性加入即可:     My home     想进行一些控制,可以在这一步将target属性值设置...
  • xiaolvzi
  • xiaolvzi
  • 2007年10月22日 22:54
  • 697

打印时不显示打印对话框

作者个人主页:http://foolrabbit.com
  • lk13962517093
  • lk13962517093
  • 2015年03月18日 09:37
  • 856

jmeter关于session的保持

————————以下是转载:方便自己以后用——————————————————我们并没有在程序中使用cookie(使用的是session),那么http cookie管理器怎么会起作用呢?这是因为在s...
  • wangning000
  • wangning000
  • 2011年06月10日 19:22
  • 4823

查看页面的显示时间

PHP的话可以这样做 在文件头加入$stime=microtime(true);  在文件尾加入 $etime=microtime(true);//获取程序执行结束的时间 $total=$et...
  • hxdafei1989
  • hxdafei1989
  • 2017年07月10日 13:15
  • 78

Confluence 编辑器 显示页面中附件的图片

输入一个感叹号 '!' 然后开始输入图片的名称来查看建议的图片列表,然后将图片插入到页面中。你可以通过使用键盘的箭头进行选择。 例如: 可选的是,使用完全的 wiki markup 。在需要...
  • u013587602
  • u013587602
  • 2014年02月02日 03:30
  • 819

页面的倒计时显示 总结

JS倒计时代码 第一种:精确到秒的javascript倒计时代码   HTML代码:         离2010年还有:                  s...
  • duci2
  • duci2
  • 2013年03月16日 17:18
  • 422
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:弹出对话框的同时保持页面的显示
举报原因:
原因补充:

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