0

我有一个应用程序,用户可以在其中单击打开文档路径的链接按钮打开文档

if (e.CommandArgument.ToString().ToLower().IndexOf(".pdf") > 0)
        ScriptManager.RegisterStartupScript(Page, this.GetType(), "myPopUp", "<script language='Javascript'>mywin=window.open('file:" + e.CommandArgument.ToString().Trim().Replace("\\", "/") + "', '', 'location=0,status=0,resizable=1,scrollbars=1,height=800px, width=1000px');</script>", false);

在这种情况下,当文件名类似于 xyz## 时,它读取为 xyz#

如果文件名像 xyz# 它正在读取 xyz

有什么解决办法吗?

4

2 回答 2

0

在我看来......这些正是由IE引起的问题,但也是由仁慈的程序员引起的。

作为更好的解决方案,我看到如下内容:

window.open('scriptUrl?parameters')

并在脚本内部从参数中获取文件名并在重定向或类似之后返回文件。

于 2012-10-04T15:41:25.217 回答
0
if (e.CommandArgument.ToString().ToLower().IndexOf(".pdf") > 0)
    ScriptManager.RegisterStartupScript(Page, this.GetType(), "myPopUp", "<script language='Javascript'>mywin=window.open('file:" + e.CommandArgument.ToString().Trim().Replace("\\", "/") + "', '', 'location=0,status=0,resizable=1,scrollbars=1,height=800px, width=1000px');</script>", false);

用这个代替上面的

if (e.CommandArgument.ToString().ToLower().IndexOf(".pdf") > 0)
    ScriptManager.RegisterStartupScript(Page, this.GetType(), "myPopUp", "<script language='Javascript'>mywin=window.open('file:" + e.CommandArgument.ToString().Trim().Replace("\\", "/") + "', **'_self'**, 'location=0,status=0,resizable=1,scrollbars=1,height=800px, width=1000px');</script>", false);

解决了这个问题。

于 2012-05-09T18:29:37.983 回答