在asp.net中打开名为ambersand的文件时出错

本文关键字:ambersand 文件 出错 net asp | 更新日期: 2023-09-27 18:29:05

我在打开介于两者之间的ambersand文件时遇到问题。

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);
        }

当我试图在另一个页面中获取类型时,我只得到了"attachment;",因为它使用了与号之前的单词。并且缺少我的文件名。如果我给出的文件名没有和号,我在打开文件时没有任何问题。

有人帮我吗?

提前谢谢。

在asp.net中打开名为ambersand的文件时出错

您可以使用encodeURIComponent

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

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

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

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

尝试以下操作:

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

从encodeURI更改为encodeURIComponent:

  • encodeURI用于完整的URI
  • encodeURIComponent旨在用于。。好URI组件,它是位于分隔符之间的任何部分(;/?:@&=+$,#)