如果需要,我需要能够将多个参数传递给一个动作。它们最终将被传递到第二个动作,它将知道细节(多少,它们被称为什么),但我的第一个动作不需要知道这一点,它只需要传递它们。所以我称之为第一个动作:
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);
创建了一个包含7个键/项对,p.Key[3] = SyncRoot
,p.Value[3] = string[1]
的p,我又回到了同一个问题。
答案 0 :(得分:0)
根据Action1
的签名,你可能会做这样的事情......
RedirectToAction("Action1", "Controller1",
new RouteValueDictionary {
{ "dcontroller", "Controller2" },
{ "daction", "Action2" },
{ "dparameters.tabSelected", "1" }
}
)