Как преобразовать объект в RouteValueDictionary внутри действия? - PullRequest
1 голос
/ 01 февраля 2012

Мне нужно иметь возможность передавать несколько параметров при необходимости в действие.В конечном счете они будут переданы во второе действие, которое будет знать детали (сколько, как они называются), но мое первое действие не должно знать это, просто нужно передать их.Поэтому я называю первое действие следующим образом:

RedirectToAction("Action1", "Controller1", new {
                     dcontroller = "Controller2",
                     daction = "Action2",
                     dparameters = new { tabSelected = "1" }
                 })

и dparameters проходят, но когда я вхожу в действие, которое должно использовать параметры, я не могу получить их.Объект выглядит так:

... dparameters [string[1]}
 [0]"{ tabSelected = 1 }"

, но если я попытаюсь dparameters[0], я получу ошибку

Cannot apply indexing with [] to an expression of type 'object'.

Я также пытался

RouteValueDictionary p = new RouteValueDictionary(dparameters);

, который создал ap с 7 парами ключ / предмет, p.Key[3] = SyncRoot, p.Value[3] = string[1], и я вернулся к той же проблеме.

1 Ответ

0 голосов
/ 11 октября 2012

В зависимости от того, что является подписью Action1, вы, вероятно, можете сделать что-то вроде этого ...

RedirectToAction("Action1", "Controller1", 
    new RouteValueDictionary {
        { "dcontroller", "Controller2" },
        { "daction", "Action2" },
        { "dparameters.tabSelected", "1" }
    }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...