2009-04-30 3 views
2

я в настоящее время этот маршрут определен (среди прочих): "{контроллер}/{действие}/{ID}/{обозначение}" являются:Пространство в маршрутизации дает 404

  • "Идентификатор" мой первичный ключ
  • «обозначение» используется только для SEO и не учитывается.

Теперь моя проблема: «http://server/Home/Index/1/teste» работает, но «http://server/Home/Index/1/teste» с пробелом в конце концов не.

IIS дает мне и mvc даже не отправляется на этот запрос.

У всех возникло такое поведение? Все, что мне нужно изменить?

С наилучшими пожеланиями

ответ

0

Space является недопустимым символом в URL. Браузеру даже не нужно его отправлять.

Если вы вызываете это кодом, попробуйте использовать HttpUtility.UrlEncode(path) перед отправкой/перенаправлением.

2

Пространство не может использоваться как символ простого текста в URL-адресе. Вы должны кодировать его, как:

%20

Э.Г.

http://www.testDomain.com/test%20page 
+4

Основная проблема заключается не в том, что пространство закодировано, но если пространство появляется в конце URL-адреса. для того же маршрута, Контроллер Home, Action Foo http: // server/Home/Foo/bar% 20bar и http: // server/Home/Foo/bar% 20bar/works http: // server/Главная/Foo/bar% 20bar или http: // server/Home/Foo/bar% 20bar/нет! Это главный вопрос. Почему пространство% 20 или "" не допускается в конце URL-адреса. – 2009-05-04 08:36:52

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

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