У меня есть действия, которые принимают параметры идентификатора строки, основанные на имени пользователя, которое может включать символы, требующие кодирования, например, «user? 1»
Если я использую ActionLink()
для генерации ссылок, передавая строку без кодировки, она генерирует ссылку, подобную этой: http:\\localhost\controller\action\user?1
, и действие передается "user" в качестве идентификатора.
Если я передаю UrlEncode()
строку перед тем, как передать ее ActionLink
, тогда будет сгенерирована ссылка: http:\\localhost\controller\action\user%253f1
, поскольку ActionLink закодирует для вас символ «%». Помимо того, что это выглядит ужасно, он также генерирует HTTP-ошибку 400 - неверный запрос при переходе по ссылке, причина которой я еще не выяснил.
Есть ли способ, с помощью которого я могу генерировать URL, например: http:\\localhost\controller\action\user%3f1
?