MVC3 Razor URL.Aktion Parameter Wert mit einem Schrägstrich. gibt Fehler
Seine eine kleine Frage auf MVC3 Razor, ich habe eine string-ID, wie "a/b", wenn ich versuche zu rufen, details oder delete-Methode des Controllers. Immer Fehler als system vorausgesetzt, "a/b" als 2 Parameter, aber ich habe diesen in einem string-Wert-Parameter.
--Edit
< a href="@Url.Action("Details", "Search", new {id = "a/b"})">Details </a>
Mein Controller/Methode wie
Search/Details (string id)
Willst und ich sende id = 'a/b' . aber .Net-vorausgesetzt, es als 2 Parameter in der URL.
Bitte vorschlagen.
InformationsquelleAutor Arvind | 2012-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es, dass die Schrägstriche sind nicht automatisch kodiert, und der Grund ist wahrscheinlich, weil, auch wenn Sie kodiert sind ("%2f"), von der Zeit erreichen Sie die routing-engine haben Sie entschlüsselt zurück, um einen Schrägstrich. (Suche nach Robj in dieser Beitrag von Phil Haack (ehemaliger manager auf das MVC-team)).
Jedoch .NET MVC Routing w/Url-Encoding-Probleme stellt das gleiche problem, und es scheint, dass der einzige Weg, dies zu lösen, ist das einfügen der kodierten Schrägstrich in einer Abfrage-string. So etwas wie dieses:
und dann, der Umgang mit ihm in der Methode, die durch den Zugriff auf:
Ich versuchte dies aber sein gibt mir die gleichen Fehler. @Html.ActionLink("Text To Display", "Action", "Controller", new {id="a//b"}). als .Net intrepret es wieder in 'a/b'
Dies ist ungerade. Mein Verständnis ist, dass der Wert muss ein Escapezeichen vorangestellt werden.
Können Sie versuchen, wickeln Sie die Zeichenfolge in: Html.Encode("a//b")?
Nope, gleicher Fehler. Ich bin mit < a href="@Url.Aktion("Details", "Suche", new {id = "a//b"})">Informationen </a>
InformationsquelleAutor Justin Pihony
Sollten Sie ein entkommen URL, so dass die parameter wäre
a%2Fb
Sagen Sie, dass dies nicht funktioniert
@Html.ActionLink("Text To Display", "Action", "Controller", new {id="a%2Fb"})
?Ja, wenn ich mit "a%2Fb", klicken Sie auf die Schaltfläche " erste Fehler "Bad request"
Hi Lazarus, sorry für die Verwirrung. Ich war mit Url.Maßnahmen im Fall ich bin mit @Html.ActionLink("Text Anzeigen", "Löschen", "CaseSearch", new { id = "a/b" }). Methode wird aufgerufen, sondern der parameter Werte Null ist. Bitte vorschlagen
InformationsquelleAutor Lazarus