Я новичок в ASP.NET MVC. Я получаю сообщение об ошибке при использовании этих символов - *#%":?<> - в URL.
*#%":?<>
У меня вопрос: обрабатывает ли ASP.NET MVC *#%":?<> символов в URL?
Нет, это не работает, даже когда вы их кодируете.
Это глупое ограничение в ASP.NET.
Они работают в части строки запроса, но не в части пути.
RFC 1738 :
Таким образом, только буквенно-цифровые, специальные символы "$-_.+!*'()," и зарезервированы символы, используемые для их зарезервированных цели могут быть использованы незакодированными в URL.
$-_.+!*'(),
Из перечисленных вами символов только «» и - теоретически могут использоваться без кодировки. На практике многие сайты кодируют все перечисленные вами символы.
Использовать кодирование в параметре url. Пример:
javascript - window.location = 'path?parameter=' + encodeURIComponent(value); Razor - @Url.Action("Action", new { parameter=Uri.EscapeUriString(@value) })"
Посмотрите здесь: http://www.w3schools.com/TAGS/ref_urlencode.asp
Если вы хотите, чтобы символы передавались как простые символы, вам необходимо закодировать их, так как они имеют значение в URL.
Взгляните на this. . Хотя это не решает проблему, по крайней мере, вы знаете, что вы не одиноки :)