我使用下面的子函数在ASP.NET中打开一个网页,如果PageUrl值为“www.163.com”,“www.sohu.com”就能正确打开。但就是不能打开一个相对路径的网页。例如:要打开当前网页的上级目录的网页test.aspx(PageUrl值我输入的是:"../test.aspx"),则报错。为什么?此外,当使用下面这个函数弹出一个模式框时,为什么父窗体总是被刷新一下,有没有什么办法不让父窗体打开及关闭时都不刷新。    /// <summary>本程序使用这个函数
    /// 打开大小不可变模式窗口
    /// </summary>
    /// <param name="page">当前页面指针,一般为"this"</param>
    /// <param name="PageUrl">打开的模式窗口显示的网页地址</param>
    /// <param name="Width">打开的模式窗口的宽度</param>
    /// <param name="Height">打开的模式窗口的高度</param>
    public static void OpenFixModalDialog(System.Web.UI.Page page, String PageUrl, int Width, int Height)
    {
        System.Text.StringBuilder Builder = new System.Text.StringBuilder();
        Builder.Append("<script language='javascript' defer>");
        Builder.AppendFormat("window.showModalDialog('{0}',null,'dialogWidth:{1}px;dialogHeight:{2}px;help:no;unadorned:no;resizable:no;status:no');", PageUrl,  Width, Height);
        Builder.Append("</script>");
        page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString());
    }

解决方案 »

  1.   

    就是使用C#,当点击网页上的一个链接时,要弹出一个模式对话框,OpenFixModalDialog功能就是实现弹出模式对话框,对话框内的内容是当前网页的上级目录的网页test.aspx。请大家帮忙解决问题
      

  2.   

    那关键是如何修改呢?比如我当前网页物理位置为e:/webLocation/form/default.aspx,OpenFixModalDialog中要弹出网页的位置为:e:/webLocation/single/test.aspx,程序中PageUrl值是什么?
      

  3.   

    不能使用物理路径的,最好用绝对路径,如"http://www.aaa.com/asdasd.aspx",也可以使用相对路径,如"asd.aspx","../asdasd.aspx","asdasd/asdasd/aspx"
      

  4.   

    肯定是路径错了!
    不行了先改成OPEN调试下看地址什么地方有问题.
      

  5.   

    我输入的是:"../test.aspx",为什么还是报错呢。急丫
      

  6.   

    ../文件夹名/123.aspx
    ../../123.aspx
      

  7.   

    我当前网页物理位置为e:/webLocation/form/default.aspx,OpenFixModalDialog中要弹出网页的位置为:e:/webLocation/single/test.aspx,程序中PageUrl值是什么?能不能说明确一点
      

  8.   

    楼主你的那个路径写要用相对的路径。还有就是window.showModalDialog的使用,你可以参考网上的资料