2014-07-11 4 views
0

Par exemple, nous voulons éditer une personne et son URL est commePassage ID à l'URL lorsque ID commence par «/»

person/id 

mais si la valeur de cet ID est quelque chose comme «/34555P3 "

+0

duplication possible de [ASP.NET MVC: URL avec barre oblique en paramètre?] (Http://stackoverflow.com/questions/6328713/asp-net-mvc-urls-with-slash-in-parameter) – CodeCaster

Répondre

3

alors il devrait être URL codé:

person/%2F34555P3 

Depuis le type de id dans le routage/actions devra manifestement être string, il sera automatiquement décodé par l'URL par le framework lors de la détermination de sa valeur. Dans la plupart des cas, le framework l'encodera automatiquement pour vous lorsque vous l'utiliserez comme valeur de route dans des entités telles que Html.ActionLink() ou Url.Action(). Partout où vous utilisez la valeur manuellement, vous devrez peut-être l'encoder manuellement.

+0

même Si nous avons utilisé le routage Attributed, cela devrait-il être assez intelligent pour le coder en URL? –

+0

@DevWannaBe: Il devrait, oui. Le mécanisme de détermination de l'itinéraire est séparé du mécanisme d'encodage/décodage des valeurs d'URL. Cela ne ferait que casser la route si vous construisiez manuellement l'URL sans encodage. – David