Обрабатывает ли ASP.NET MVC символы * #% ":? <> В URL? - PullRequest
2 голосов
/ 11 июля 2009

Я новичок в ASP.NET MVC. Я получаю сообщение об ошибке при использовании этих символов - *#%":?<> - в URL.

У меня вопрос: обрабатывает ли ASP.NET MVC *#%":?<> символов в URL?

Ответы [ 5 ]

1 голос
/ 11 июля 2009

Нет, это не работает, даже когда вы их кодируете.

Это глупое ограничение в ASP.NET.

Они работают в части строки запроса, но не в части пути.

1 голос
/ 11 июля 2009

RFC 1738 :

Таким образом, только буквенно-цифровые, специальные символы "$-_.+!*'()," и зарезервированы символы, используемые для их зарезервированных цели могут быть использованы незакодированными в URL.

Из перечисленных вами символов только «» и - теоретически могут использоваться без кодировки. На практике многие сайты кодируют все перечисленные вами символы.

0 голосов
/ 04 февраля 2019

Использовать кодирование в параметре url. Пример:

javascript - window.location = 'path?parameter=' + encodeURIComponent(value);

Razor - @Url.Action("Action", new { parameter=Uri.EscapeUriString(@value) })"
0 голосов
/ 11 июля 2009

Посмотрите здесь: http://www.w3schools.com/TAGS/ref_urlencode.asp

Если вы хотите, чтобы символы передавались как простые символы, вам необходимо закодировать их, так как они имеют значение в URL.

0 голосов
/ 11 июля 2009

Взгляните на this. . Хотя это не решает проблему, по крайней мере, вы знаете, что вы не одиноки :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...