我怎样才能修复这个不工作的重定向到一个不工作的 URL 包含一个 ' 字符?

How can I fix this not working redirection to a not working URL containing an ' character?

我正在处理 SharePoint 2013 应用程序(但我的问题与 SharePoint 并不严格相关)并且我遇到以下问题。

在 Web 部件中,我有一个 LinkBut​​ton,如下所示:

string url2 = SPContext.Current.Web.Url + "/ARXEIA WEBPART/Aggiungi allegato.aspx?IdItem=" + item.ID + "&AttachName=" +
                        nomeAllegato + "&Mode=Delete&IsDlg=1";
LinkButton linkDel = new LinkButton();
linkDel.Text = "Elimina";

string url2 = SPContext.Current.Web.Url + "/ARXEIA WEBPART/Aggiungi allegato.aspx?IdItem=" + item.ID + "&AttachName=" +
    nomeAllegato + "&Mode=Delete&IsDlg=1";

linkDel.OnClientClick = "if(confirm('Attenzione, verrà rimosso un allegato. Continuare?')){openEditRedAtt('" + url2 + "');return false;}else{return false;}";

OnClientClick 属性 包含此值:

"if(confirm('Attenzione, verrà rimosso un allegato. Continuare?')){openEditRedAtt('http://nabucodonosor:8080/Protocollo/pg/ARXEIA WEBPART/Aggiungi allegato.aspx?IdItem=580&AttachName=con un'apice.pdf&Mode=Delete&IsDlg=1');return false;}else{return false;}"

那应该重定向到另一个 Web 部件。问题是,在这种特定情况下,URL 包含一个 URL 参数,其中包含一个 ' 字符,这个:

AttachName=con un'apice.pdf

它导致了故障。这是因为调用未执行,因此未正确重定向到目标 Web 部件。

此错误值包含在 nomeAllegato 变量中。

我该如何处理这种情况?我必须以某种方式逃避这个角色吗?我该如何修复它?

正如您在网络中所怀疑的那样 URL 您需要转义某些字符,在您的情况下,您需要将 ' 替换为 %27,但我会留下一个网页,如果您愿意,您可以在那里找到其余字符

https://www.werockyourweb.com/url-escape-characters/