2013-07-05 77 views
0

我一直在试图拉入参数传递到一个页面,所以我可以将其发布回上下文。MVC多参数路由

到目前为止,

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

作品有什么简单的,如 “66” 或 “TT”,但任何事情更复杂的像 “?name = blargh?viewId = 66”,它失败。

我已经尝试了一堆不同的方式来看看我是否能击金牌,但似乎没有任何工作,所以没有任何人有任何想法我缺少/做错了/应该不是做?

回答

1

“,但任何事情更复杂的像‘?name = blargh?viewId = 66’,它失败。

这似乎并不被路由,你应该从获取信息,但查询字符串Request.QueryString袋。

如果{id}参数是你的路线的一部分(如缺省路由{controller}/{action}/{id})我希望你明白,这id不可能是任何你喜欢的,只是因为有规则的URL。例如它不能包含?因为th符号在url中具有完全不同的含义 - 它代表查询字符串分隔符。

+0

谢谢,我有新的需要的东西了我失踪,一旦接受计时器耗尽或周一接受,我会记住这。 – Myzifer

+0

是的,我只是设置它的工作,以防万一我只需要使用参数,另外你知道我应该能够进一步了解路由和希望一种方法来分离每个查询的好网站关键所以我不会只是产生一个长的url字符串。 – Myzifer