0

我一直在尝试将传递到页面的参数拉到页面中,以便可以将其发布回 Context。

至今,

        ViewBag.Message = string.Format("{0}::{1}::{2}",
        RouteData.Values["controller"],
        RouteData.Values["actions"],
        RouteData.Values["id"]);

适用于像“66”或“tt”这样简单的东西,但像“?name=blargh?viewId=66”这样更复杂的东西,它会失败。

我已经尝试了很多不同的方法来看看我是否可以淘金,但似乎没有任何效果,所以有人知道我错过了什么/做错了什么/应该做什么吗?

4

1 回答 1

1

" 但是像 "?name=blargh?viewId=66" 这样更复杂的东西,它失败了。

这似乎不是路由信息,而是您应该从Request.QueryString包中检索的查询字符串。

如果{id}参数是您的路由的一部分(作为默认路由{controller}/{action}/{id}),我希望您意识到这id不可能是您喜欢的任何东西,只是因为 url 有规则。例如,它不能包含?,因为该符号在 url 中具有完全不同的含义 - 它表示查询字符串分隔符。

于 2013-07-05T15:47:02.033 回答