Как я могу исправить это не работающее перенаправление на не работающий URL, содержащий символ '? - PullRequest
0 голосов
/ 14 мая 2019

Я работаю над приложением SharePoint 2013 (но моя проблема не связана строго с SharePoint), и у меня возникла следующая проблема.

В веб-часть у меня есть LinkButton , например:

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

Это должно перенаправить на другую веб-часть. Проблема заключается в том, что в данном конкретном случае URL-адрес содержит параметр URL-адреса, содержащий символ '* , этот:

AttachName=con un'apice.pdf

это вызывает неисправность. Это происходит потому, что вызов не выполняется, поэтому он неправильно перенаправляется на целевую веб-часть.

Это неправильное значение содержится в переменной nomeAllegato .

Как я могу справиться с такой ситуацией? Должен ли я каким-либо образом избежать персонажа? Как я могу попытаться это исправить?

1 Ответ

1 голос
/ 14 мая 2019

Как вы и подозревали в веб-URL, вам нужно экранировать определенные символы, в вашем случае вам нужно заменить 'на% 27, но я оставлю веб-страницу, где вы сможете найти остальные из них, если вам нравится

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

...