为提高客户的体验,经常使用模态窗口。以下为使用的一个例子。

1、建立一个含有iframe的html文件,用于防止自刷新的问题。
Fram.htm

<html><head><title>在模态窗口中打开的框架页</title></head><bodytopmargin="0"leftmargin="0"scroll="no"><iframewidth="100%"height="100%"border="0"id="frame1"></iframe><scriptLanguage="Javascript">varel=document.frames.frame1;
if(el!=null){
vararg=window.dialogArguments;
if(arg!=null)
        frame1.location.href
=arg;
        }
</script></body></html>

2、 在要打开模态窗口的起始处,编写如下函数:

privatestringGetOpenModalDialogScript(intwidth,intheight)
{
            StringBuilder sb
=newStringBuilder();
            sb.Append(
"<script language='javascript'>");
            sb.Append(
"function EditStructure(arg)");
            sb.Append(
"{");

            sb.Append(
"var argument;");
            sb.Append(
"argument = 'EditStructureData.aspx' + '?StructureUID=' + arg;");

            sb.AppendFormat(
"var dialog = 'dialogWidth={0}px;' + 'dialogHeight={1}px;' + 'center=yes;status=no';", width, height);
            sb.Append(
"var retValue=window.showModalDialog('Frame.htm',argument,dialog);");

            sb.Append(
"if(retValue==1)");
            sb.Append(
"top.location.href=top.location.href;");
            sb.Append(
"}");
            sb.Append(
"</script>");
        }

函数的作用是生成打开模态窗口的JS代码,可以指定窗口的宽度和高度,接收模态窗口关闭后传回的数据。
另处,在发生点击事件的控件处要注册些脚本。如下:

LinkButton lbnName=e.Item.FindControl("lbnName")asLinkButton;
lbnName.Text
=dataItem.Name;
if(!Page.IsClientScriptBlockRegistered("EditStructureData"))
{
    Page.RegisterClientScriptBlock(
"EditStructureData",this.GetOpenModalDialogScript(300,300));

lbnName.Attributes.Add(
"onclick",
string.Format("EditStructure('{0}');return false;", dataItem.StructureUID.ToString()));

注意这里传递了一个StructureUID参数,用于在模态窗口中接收这个参数,然后根据参数提取数。

3、在模态窗口中进行数据处理。
在模态窗口的后台代码中添加如下函数:

privatevoidEndModalDialog()
{
this.EndModalDialog(true);
        }
privatevoidEndModalDialog(boolrefurbish)
{
//返回值为1表示成功,top.close()表示把Frame.htm关闭stringscript=string.Format("<script language=\'Javascript\'>window.returnValue={0};top.close();</script>", refurbish?1:0);

            Page.Response.Write(script);
            Page.Response.End();
        }

函数可以指定是否刷新父窗口,在编辑完数据和取消编辑处进行调用。

转载于:https://www.cnblogs.com/BillChen/archive/2005/09/08/232275.html

使用模态窗口编辑数据相关推荐

  1. window.showModalDialog弹出模态窗口

    [转http://www.cnblogs.com/zhouzhaokun/archive/2011/11/14/2248523.html] 在我们平时的B/S web开发当中,可能很多时候我们需要有这 ...

  2. js中父窗口获得模态窗口的返回值

    <!--父窗口JS--> //查看审核详细 function viewFlow() {           var strBackValue= openWin('../VertifyVie ...

  3. 使用jQuery创建模态窗口登陆效果

    来源:GBin1.com 在线下载 在线演示 隐藏模态窗口技术是一种很好的解决方案,用于处理不是特有必要出现在网页上的界面元素.社交网络可以使用模态窗口传达私人讯息以及只针对会员才能看 到的表单.在博 ...

  4. r 选取从小到大的数据_玩点特别的!AI打造可编辑数据图表!

    来源:艺云台 在下面的步骤中, 您将学习如何在AI中创建一个完全可编辑的折线图, 以及如何轻松地调整其样式. 首先, 您将学习如何使用折线图工具创建起始折线图.使用 "组选择" 工 ...

  5. (面试题)html中创建模态窗口的方法有哪些?

    一.创建模态和非模态对话框 除了alert(""); confirm(""); prompt("");之外还有 创建模态对话框: vRetu ...

  6. java 非模态_统计图钻取的明细报表在非模态窗口中显示

    润乾报表的统计图可以在图例 / 图形上设置超链接,从而实现钻取到明细报表的操作,钻取得到的报表可以在新窗口或者当前窗口中打开.关于如何在统计图的图形 / 图例上设置超链接,在用户手册中有常用示例的介绍 ...

  7. 关于模态窗口(showModalDialog)的专题【收藏】

    关于模态窗口(showModalDialog)的专题[收藏] 转自:http://www.cnblogs.com/donnet/articles/1039509.html 1.模态窗口的打开,mode ...

  8. 来个模态kuang_关于模态窗口(showModalDialog)的专题【收藏】

    转自:http://www.cnblogs.com/donnet/articles/1039509.html 1.模态窗口的打开,model window open 2.模态窗口的关闭,model w ...

  9. ABBYY PDF Transformer+从PDF文档编辑数据

    ABBYY PDF Transformer+是一款可创建.编辑.添加注释及将PDF文件转换为其他可编辑格式的通用工具,可使用该软件从PDF文档编辑机密信息,然后再发布它们,文本和图像均可编辑,本文将为 ...

最新文章

  1. Docker使用笔记
  2. target evaluations
  3. STM32----ADC多通道采集
  4. CUDA全局变量(__device__)的初始化与使用:cudaMemoryToSymbol、cudaMemoryFromSymbol、cudaGetSymbolAddress
  5. python下载-各种版本的Python下载安装教程
  6. 再谈 最速下降法/梯度法/Steepest Descent
  7. ajax表单提交post(错误400) 序列化表单(post表单转换json(序列化))
  8. Unity - Windows获取屏幕分辨率、可用区域
  9. Spring中定义Bean的6种方式(声明式+编程式)
  10. Linux环境下FFMPEG的安装与配置
  11. python开发的军棋自动裁判软件
  12. 腾讯新版 Windows QQ 首个公测版发布,采用全新 QQ NT 架构
  13. Java中的时间、时区和夏令时
  14. 咖啡汪日志—— 回退兜底 及实用的服务降级策略
  15. 已解决!element-UI 父子组件嵌套使用dilog导致蒙版混乱解决方案!
  16. 利用Python访问Mysql数据库
  17. php和web前端工作描述,web前端岗位自我评价怎么写
  18. UWB定位+仓储,智能化安全解决方案
  19. Maya绑定的基础属性介绍
  20. 网站变灰是怎么样实现的

热门文章

  1. vue 一个页面多个router-view如何配置子路由_浅谈vue前端开发架构
  2. 想成为一个Web前端开发工程师,需要掌握的详细知识总结
  3. amos调节变量怎么画_AMOS 中验证性因素分析(CFA)
  4. 256qam调制星座图_科普:5G是怎么调制的?
  5. pygame显示图片的方法_使用Sprite实现移动动画(Pygame中的精灵类)
  6. STM32F103单片机modbus通信示例
  7. STM32F103单片机使用内部RC振荡器做时钟源
  8. HDU-2084-数塔(dp)
  9. Soft NMS算法笔记
  10. 面试时如何在众多Java工程师中脱颖而出