我有一个应用程序,用户可以在其中打开文档,单击链接按钮打开文档的路径
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
有什么解决办法吗?
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);
解决了问题。
在我看来...这些正是这些问题是由IE引起的,但也是由仁慈的程序员引起的。
作为更好的解决方案,我看到这样的东西:
window.open('scriptUrl?parameters')
和内部脚本从参数获取文件名,并在重定向或类似后返回文件。