0

我在打开中间有琥珀色的文件时遇到问题。

var attachment = "attachment;" + "&test& incident&.txt";

 HtmlPage.Window.CreateInstance("foo2", new object[] { Id.ToString(), attachment });


function foo2(theAlert, type) {
            alert(type);
            window.open('fileViewer.aspx?Id=' + theAlert + '&Type=' + type);

        }

当我尝试在另一个页面中获取类型时,我只得到“附件;” 因为它采用&符号之前的单词。并缺少我的文件名。如果我给出不带 & 的文件名,我在打开文件时没有任何问题。

有人帮帮我吗?

提前致谢。

4

2 回答 2

1

您可以使用encodeURIComponent

encodeURIComponent() 函数对 URI 组件进行编码。

此函数对特殊字符进行编码。此外,它还编码

以下字符: , / ? : @ & = + $ #

window.open('fileViewer.aspx?Id=' + theAlert + '&Type=' + encodeURIComponent(type));
于 2013-08-27T09:34:42.213 回答
0

尝试以下操作:

window.open("fileViewer.aspx?Id=" + theAlert + "&Type=" + encodeURIComponent(type));

从 encodeURI 更改为 encodeURIComponent:

  • encodeURI 旨在用于完整的 URI。
  • encodeURIComponent 旨在用于 .. 以及 .. URI 组件,即位于分隔符之间的任何部分(; / ? : @ & = + $ , #)。
于 2013-08-27T09:31:46.803 回答