javascript
2017-01-25 4 views 0 likes 
0

Я генерирую атрибуты window.location.href, где путь иногда может содержать косую черту «/».Прямая косая черта в window.location.href перенаправляет на корень url

ImageButton.Attributes.Add("OnClick", "window.location.href='DynamicItemDetail.aspx?Partno=" & strItemCode & "&Decorloc='") 

Последние строки выглядят так:

window.location.href="myurl.com/products.aspx?_Category=130&Partno=WWS-AWT/SWD&Decorloc=" 

К сожалению, так как код товара содержит слэш, window.location перенаправляет к корневой ссылке. Есть ли все-таки сказать Javascript не рассматривать косую черту как подкаталог?

ответ

2

Вам нужно будет избежать символов в URL-адресе. encodeURIComponent - это то, что вы ищете.

var encodedItemCode = encodeURIComponent(strItemCode); 
ImageButton.Attributes.Add("OnClick", "window.location.href='DynamicItemDetail.aspx?Partno=" + encodedItemCode + "&Decorloc='") 

Полученный URL будет

myurl.com/products.aspx?_Category=130&Partno=WWS-AWT%2FSWD&Decorloc=

0

Вам нужно слеш, как %2F

0

Да. Вы должны URL-кодировать строку или косую черту. Итак, вместо «/» вы используете «% 2F»

1

Используйте функцию encodeURIComponent() Javascript для кодирования слэша и любых других специальных символов в формат, который разрешено использовать в URI.

Хорошая ссылка для функции: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

 Смежные вопросы

  • Нет связанных вопросов^_^