2012-02-09 74 views
0

我想在用戶點擊按鈕時打開一個新的彈出窗口。但是,如果我面臨一個問題,我如何打開基於server.mapPath的新彈出窗口? 這是我的編碼Server.MapPath在asp.net中打開的窗口

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()); 

但我無法打開一個新窗口。請幫助:(

回答

2

window.open希望像 「../reportPreview.aspx」 一個URL,但Server.MapPath返回如 「C:\ YourApp \ reportPreview.aspx」 物理路徑。你應該叫ResolveClientUrl而是另外,你需要。在網址中添加引號:

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

bravo.Many謝謝:) – user998405 2012-02-09 03:51:58