Server.MapPath в окне, открытом в asp.net - PullRequest
0 голосов
/ 09 февраля 2012

Я хочу открыть новое всплывающее окно, когда пользователь нажимает кнопку. Но если я столкнулся с проблемой, как я могу открыть новое всплывающее окно на основе 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 Ответ

2 голосов
/ 09 февраля 2012

window.open ожидает URL-адрес типа "../reportPreview.aspx", но Server.MapPath возвращает физический путь, например "C: \ YourApp \ reportPreview.aspx". Вы должны позвонить ResolveClientUrl вместо. Также вам нужно добавить кавычки вокруг URL:

sb.Append("window.open('" + ResolveClientUrl("~/reportPreview.aspx") + "', '', '');"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...