Ich habe festgestellt, dass mir @Url.Action("myAction", new { param1 = 123, param2 = 456})
eine ungültige URL Home/myAction?param1=123&param2=456
liefert.
Ich versuche es zu tun
%Vor% Aber nur param1
wird in der Aktionsmethode ausgefüllt.
Wenn ich das &
entferne und es nur &
mache, dann funktioniert es, aber das Ersetzen eines Strings ist super hacky.
Fehle ich hier etwas?
BEARBEITEN: Pro Anfrage schließe ich einige meiner Beispiel-Apps ein. (Sie können eine neue MVC-App erstellen und diese schnell hinzufügen und selbst sehen)
Controller:
%Vor%AjaxTest-Ansicht:
%Vor%Indexansicht:
%Vor% Standardmäßig wird jeder Inhalt (der nicht IHtmlString
ist), der mit einem @
-Block ausgegeben wird, automatisch von Razor HTML-kodiert (siehe hierzu Razor Einführung Artikel Html Encoding Abschnitt)
Die Url.Action
gibt nur eine einfache string
zurück, deshalb wird &
kodiert.
Verwenden Sie Html.Raw
, wenn Sie die Codierung nicht möchten:
Tags und Links asp.net-mvc-3 ajax