• 模态化窗口范例


    模态化窗口时一showModalDialog来弹出模态化窗口的,以window.parent.returnValue来接受返回值并返回给父窗体

    示例如下:实现弹出模态化窗口,在模态化窗口中返回传值给父窗口

    cs端代码:

    Response.Write("<script>window.parent.returnValue='" + url + "';window.parent.close();</script>");
    //url为返回的值,返回后把模态化窗口关闭

    javascript代码

    function fnCallDialog() {
    //模态化窗口返回值
    var values = "";
    values
    = showModalDialog("FileInfoDB/Show.aspx", values, "status:no;Help:no;resizable:yes");
    //如果返回正确 则将返回值赋值给Address
    if (values) {
    document.Form1.Address.value
    = values;
    }

    }

    =====================================================================

    咋一看,上面的代码完全可以实现所要的功能。从语法上理解是没问题的,但是在实际操作中就会出现点击模态化窗口返回值的时候就会出现如下问题:

    点击模态化窗体传值,并且关闭模态化窗口的时候发现重新打开了一个新窗口,在新窗口中点击传值关闭时,新窗口关闭,但是模态化窗体依然没有关闭,值也没有传过去

    解决这个问题的方法是:

    将模态化窗体以frameset的形式嵌入到fram窗体内,

    具体操作如下:

    父窗体程序:假设父窗体为right.aspx

    function wopen() {
    //模态化窗口返回值
    var returnValue = showModalDialog('FileInfoDB/ShowMain.aspx', 0, "dialogWidth:650px;dialogHeight:500px;help:no;center:yes;resizable:no;status:no;scroll:no");
    //如果返回正确 则将返回值赋值给Address
    if (returnValue != "" && returnValue != undefined) {
    Form1.Address.value
    = returnValue;
    }
    }

    弹出ShowMain.aspx,ShowMain.aspx中嵌入Show.aspx(最终传值页面)

    新建fram窗体ShowMain.aspx并且将最终要做操作的页面Show.aspx嵌入其中:

    ShowMain.aspx
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ShowMain.aspx.cs" Inherits="Three_points_screen.Server.FileInfoDB.ShowMain" %>
    <HTML>
    <HEAD>
    <TITLE>选择管理员</TITLE>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <meta content="no-cache" http-equiv="Pragma">
    <meta content="no-cache" http-equiv="Cache-Control">
    <meta content="0" http-equiv="Expires">
    </HEAD>
    <frameset rows="0,*" frameborder="no" border="0" framespacing="0">
    <frame src="about:blank" scrolling="no" noresize>
    <frame src="Show.aspx" scrolling="no">
    </frameset>
    </HTML>

    传值页面最终代码:

    url为要返回的值

    Response.Write("<script>window.parent.returnValue='" + url + "';window.parent.close();</script>");
    这样就会把返回值url传给父窗体right.aspx
  • 相关阅读:
    AIMS 2013中的性能报告工具不能运行的解决办法
    读懂AIMS 2013中的性能分析报告
    在线研讨会网络视频讲座 方案设计利器Autodesk Infrastructure Modeler 2013
    Using New Profiling API to Analyze Performance of AIMS 2013
    Map 3D 2013 新功能和新API WebCast视频下载
    为Autodesk Infrastructure Map Server(AIMS) Mobile Viewer创建自定义控件
    ADN新开了云计算Cloud和移动计算Mobile相关技术的博客
    JavaScript修改css样式style
    文本编辑神器awk
    jquery 开发总结1
  • 原文地址:https://www.cnblogs.com/happygx/p/2096018.html
Copyright © 2020-2023  润新知