смотрел на это какое-то время, и чувствую, что я просто глуп, хочу получить еще несколько глаз от него.
Мне нужно создать полный URL-адрес (например, http://www.domain.com/controller/action?a=1&b=2
), как правило, я просто использую Url.Action
, чтобы сделать это без проблем указав протокол:
var url = Url.Action("Action", "Controller", new { a = 1, b = 2 }, "http");
Я начал собирать класс, который возвращает RouteValueDictionary
, чтобы эти анонимные объекты исчезли. Однако я не могу заставить его работать вместе с помощником.
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"
Любые указатели, которые приводят к facepalm, очень оценили:)
Update:
Вероятно, лучше всего пояснить, что в приведенном выше примере мне нужно получить переменную 'X
', так как RouteValueDictionary создается в другом месте кода. Предположим, что Правило RouteValueDictionary верное.
Я просто не понимаю, почему это работает с анонимным объектом, но тот же объект, завернутый в один и тот же объект, завернутый в RouteValueDictionary
, делает хелперный урод.