窗口中的Server.MapPath在asp.net中打开

时间:2012-02-09 03:37:08

标签: asp.net popup window

我想在用户点击按钮时打开一个新的弹出窗口。但是,如果我遇到问题,我该如何打开一个基于server.mapPath的新弹出窗口? 这是我的编码

  StringBuilder sb = new StringBuilder();
        sb.Append("<script>");


        sb.Append("window.open(" + Server.MapPath("~/reportPreview.aspx") + ", '', '');");
        sb.Append("</script>");


        ClientScript.RegisterStartupScript(this.GetType(),"test", sb.ToString());

但我无法打开一个新窗口。请帮忙:(

1 个答案:

答案 0 :(得分:2)

window.open需要一个像“../reportPreview.aspx”这样的网址,但是Server.MapPath会返回一个像“C:\ YourApp \ reportPreview.aspx”这样的物理路径。你应该拨打ResolveClientUrl。此外,您需要在网址周围添加引号:

sb.Append("window.open('" + ResolveClientUrl("~/reportPreview.aspx") + "', '', '');");