.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
弹出对话框的同时保持页面的显示

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

最后,必须得说明的是,这个方法的思想可以用来在脚本和后台代码之间传递信息,我在我的web application中就是这样做的,效果很好。

 

第一次发文档,不足之处大家也就见谅见谅了:)




相关文章

相关软件