stato a guardare per un po ', e si sentono come sto solo di essere stupido vuole ottenere alcuni più occhi su di esso ..Url.Action con RouteValueDictionary con protocollo
ho bisogno di generare un URL completo, (ad esempio, http://www.domain.com/controller/action?a=1&b=2
), in genere mi basta usare Url.Action
per fare questo senza alcun problema specificando il protocollo:
var url = Url.Action("Action", "Controller", new { a = 1, b = 2 }, "http");
ho iniziato a mettere insieme una classe che restituisce un RouteValueDictionary
per rendere questi oggetti anonimi scompaiono. Tuttavia, non riesco a farlo funzionare a fianco dell'aiuto.
var x = Url.Action("Action", "Controller", new RouteValueDictionary(new { a = 1, b = 2 }), "http");
// "http://127.0.0.1/Controller/Action?Count=2&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D",
var y = Url.Action("Action", "Controller", new { a = 1, b = 2 }, "http");
// "http://127.0.0.1/Controller/Action?a=1&b=2"
Tutti gli indicatori che portano ad un facepalm molto apprezzato :)
Aggiornamento:
E 'probabilmente meglio chiarire che nel campione di cui sopra, ho bisogno di ottenere la variabile 'X
' funziona correttamente, dal momento che RouteValueDictionary viene creato altrove nel codice. Supponiamo che RouteValueDictionary sia corretto.
Non capisco perché questo funziona con oggetti anonimi, ma lo stesso oggetto avvolto nello stesso oggetto avvolto in un RouteValueDictionary
fa impazzire l'helper.
Come si sta creando il RouteValueDictionary? – Oliver