MVC3 Rasoir URL.Action Valeur du Paramètre avec la barre oblique. donnant erreur
Ses une petite question sur MVC3 de Rasoir, j'ai un string ID comme "a/b" lorsque j'essaie de les détails de l'appel ou de la méthode delete de Contrôleur. Avoir d'erreur, que le système en supposant que "a/b" 2 paramètres, mais je dois passer dans une chaîne de valeur des paramètres.
--Edit
< a href="@Url.Action("Details", "Search", new {id = "a/b"})">Details </a>
Mon Contrôleur/méthode, c'est comme
Recherche/Détails (string id)
Et je veux envoyer id = "a/b". mais .Nette en supposant que les 2 paramètres dans l'URL.
S'il vous plaît suggérer.
OriginalL'auteur Arvind | 2012-03-08
Vous devez vous connecter pour publier un commentaire.
Il semble que les barres obliques sont pas automatiquement codé, et la raison en est probablement parce que même si ils sont codés (%2f), au moment où ils atteignent le moteur de routage ils ont été décodés à l'arrière d'une barre oblique. (Recherche de Robj dans ce post par Phil Haack (ancien manager sur le MVC team).
Cependant, .NET MVC de Routage w/Url Problèmes d'Encodage pose le même problème, et il semble que la seule façon de résoudre ce problème est d'insérer de l'encodage du slash dans une chaîne de requête. Quelque chose comme ceci:
et puis, traiter avec elle dans votre méthode, en accédant à:
J'ai essayé ceci mais sa me donne la même erreur. @Html.ActionLink("Texte À Afficher", "Action", "Contrôleur", new {id="a//b"}). comme .Net intrepret de nouveau dans "a/b"
C'est bizarre. Ma compréhension est que la valeur doit être échappé.
Pouvez-vous essayer d'habillage de la chaîne: Html.Encode("a//b")?
Nan même erreur. Je suis à l'aide de < a href="@Url.Action("Détails", "Recherche", new {id = "a//b"})">Coordonnées </a>
OriginalL'auteur Justin Pihony
Vous devez utiliser un échappé de l'URL, de sorte que le paramètre serait
a%2Fb
Dites-vous que cela ne fonctionne pas
@Html.ActionLink("Text To Display", "Action", "Controller", new {id="a%2Fb"})
?Oui, quand je suis à l'aide de "%2Fb", cliquez sur le bouton d'erreur "Bad request"
Salut Lazare, désolé pour la confusion. J'ai été en utilisant l'Url.L'Action dans le cas où je suis à l'aide de @Html.ActionLink("Texte À Afficher", "Supprimer", "CaseSearch", new { id = "a/b" }). La méthode est appelée, mais le paramètre valus est Null. S'il vous plaît suggérer
OriginalL'auteur Lazarus