我有我的web应用程序的一些链接,看起来像这样:麻烦与Global.asax的路由
localhost:12345/?something=1
localhost:12345/?something=2
localhost:12345/?something=3
localhost:12345/?something=4
末每个数字是,我需要传递给我的控制器,以显示与此相关的信息的ID 。
我知道我需要在我的global.asax
页面中创建一个新的routes.MapRoute
,但我并不十分确定如何去做。我尝试这样做:
routes.MapRoute(
"Id", // Route name
"{controller}/{action}/{*Id}", // URL with parameters
new { controller = "Home", action = "Id", Id = "" } // Parameter defaults
);
---编辑---
我只成功获得每一个人喜欢做显示如下:
routes.MapRoute(
"IdRoute", // Route name
"{Id}", // URL with parameters
new { controller = "Home", action = "Index", id = 1 } // Parameter defaults
);
这并不工作,但是,这只适用于一个id(特别是1)。我不太清楚如何去了解这一点,但我需要我需要:
localhost:12345/?something=1
以显示ID为1的信息,
localhost:12345/?something=2
以显示ID 2的信息,
localhost:12345/?something=3
以显示ID 3.
我也将是数以百计的IDS这么硬编码的东西我的信息n不会是一个方便的选择。到目前为止我没有运气。任何帮助将非常感激!谢谢!
感谢您的回复。这似乎是半工作。你的代码唯一的问题是,你只有它的第一个ID工作。您是否知道我能够通过任何ID的方式?将会有数百个ID,并且每次都要编写它会是一件痛苦的事情。 – scapegoat17
嗯,你想要一个Id是一个动作,嗯嗯,你为什么不使用一个动作,并传递id作为该动作的参数。 –
这就是这条路线正在做的事情。 –