window.open上的特殊字符打开文件所需的URL

时间:2012-05-03 18:13:27

标签: .net url special-characters filenames window.open

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

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#

如果filename就像xyz#那么它正在读取xyz

任何解决方案?

2 个答案:

答案 0 :(得分: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);

解决了这个问题。

答案 1 :(得分:0)

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

作为更好的解决方案,我看到这样的事情:

window.open(&#39;在scriptUrl参数&#39;?)

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