具体需求:
    1.父窗体上面有个button.是用来上传附件的..
    2.点击button,弹出子窗体,子窗体里面包含两个控件,一个上传的控件.和一个button..---上传
    3.当点击子窗体里面的按钮时候将文件上传到网站的某个文件夹下面..再将文件的相对路径返回给父窗体的一个<a href="">标签里面,在父窗体能够实现打开或者下载该附件的功能..其实<a>可以基本实现..主要就是传值...希望大哥大姐JS牛的人帮我下忙...JS我有点基础.但是很多都忘记了...谢谢了...
CSDN发帖页面的那个上传功能也可以..唯一的就是将值传到父窗体里面用个东西接收..谢谢了...在线等...

解决方案 »

  1.   

    这和一个窗体有区别吗,在子窗体通过opener.document访问父窗体的元素,在父窗体通过定义 var newwin =
    window.open(……),用newwin.document访问子窗体的元素。
      

  2.   

    参考如下,模态窗体里写对应的上传文件和回传值代码
    JS模态窗体 window.returnvalue 
    有时候,我们需要使用模态窗体(更多的是模拟模态窗体,div + iframe),下面是一个使用了ASP.NET AJAX 下的模态窗体的2个页面交互的示例。
    简单地代码片断:     protected void Button1_Click(object sender, EventArgs e)
         {
             string MyScript = "var returnStr = window.showModalDialog('Default2.aspx?name="+TextBox1.Text+"', 
    window, '') ;";
             MyScript += "document.getElementById('TextBox1').value=returnStr;";
             if (!Page.ClientScript.IsClientScriptBlockRegistered("OneScript")){
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "OneScript",
    MyScript,true);
             }
        }由于使用了ScriptManager ,所以在注册脚本块的时候,不是Page注册。这里,我们声明了 "var rturnStr"  ,它就
    可以用来接收
    子窗体的返回值,子窗体的返回值可以有多种形式的.
    返回:     protected void Button1_Click(object sender, EventArgs e)
         {
             string MyScript = "window.returnValue='"+TextBox1.Text+"';";
             MyScript += "window.close();";
             if (!Page.ClientScript.IsClientScriptBlockRegistered("OneScript")) {
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "OneScript", MyScript, true);
             }
        }
      

  3.   

    a.aspx
    function OpenUpload(ti)
    {
    var url = "upload.aspx";
    win=window.open(url,"upload","width=600,height=450,left=0,top=0,scrollbars=1,status=0");
    win.focus();
    }
    function GetPhoto(strName)
    {
    var p1 = window.document.getElementById("txtPhoto");
    p1.value = strName;

    }
    upload.aspx
      Response.Write("<script language='javascript'>window.opener.GetPhoto('a.jpg');</script>");
            Response.Write("<script language='javascript'>window.close();</script>");
      

  4.   

    可能是我没说清楚.补充一下:
     点击页面上的按钮.将一个labelOne的值传到子窗体,子窗体接收到这个值,再上传的时候需要将这个值作为ID,上传完之后再将FileUpload1文本框里面的路径返回给父窗体的labelTwo.text就可以了..
      

  5.   

    传值有N种方式,你说的这个,直接设置一个全局变量就OK了。或者继承一个基类窗体。
      

  6.   

    上面有答案了 我就不重复了 注意2点
    1 如果是iframe 马上子窗口的parent是父窗口 如果是新窗口那么子窗口的opener是父窗口
    2 父窗口可以通过var a=window.open(...)得到新窗口的句柄 然后 a.<新窗口的函数>即可