弹出对话框的同时保持页面的显示
来源:互联网 发布:发明专利 知乎 编辑:程序博客网 时间:2024/06/05 22:57
在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(),以弹出功能更丰富,界面更漂亮的窗口。
【原理】
在页面上放置一隐藏控件,并在页面最后放上一段脚本代码,脚本代码检测隐藏控件的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(),以弹出功能更丰富,界面更漂亮的窗口。
- 弹出对话框的同时保持页面的显示
- 弹出对话框的同时保持页面的显示
- 弹出对话框的同时保持页面的显示
- 显示是否保持的对话框
- 弹出对话框的同时,弹出弹出软件盘
- 点击对话框上的按钮,实现弹出页面,页面在本界面显示?
- 如何让两个对话框的同时显示
- VC6中两个对话框的同时显示
- Jsp页面弹出输入对话框的实现
- Jsp页面弹出输入对话框的实现
- 弹出全屏显示的网页模式对话框
- 弹出显示多条的message对话框
- Android弹出的对话框显示输入框
- DIY的JS弹出层弹出对话框弹出页面弹出窗口的插件
- VC6中两个对话框的同时显示 作者:黄基前
- C++中对话框和菜单栏同时显示的设置
- 在页面里先弹出对话框的例子
- 实现弹出"提示对话框"之后再进行"页面的转向"
- 对所有本站文章的版权声明
- 分治法的绝妙应用-求bit翻转
- AMBA、AHB、APB总线简介
- 今天做了一个程序
- 订阅的意义和方法——写给web2.0新手
- 弹出对话框的同时保持页面的显示
- APR为JBoss AS加速:HTTP Connector配置
- 深入浅出话循环 ——编程开发从零学起
- 用MASM32写了个系统托盘图标管理者 TrayIconMan
- 破阵子
- 学习笔记
- 《投资与合作》2007年6月号文摘列表
- Action
- 植物园随拍