我已经注册了这条路线:MVC路线问题
context.MapRoute(
"Book",
"book/{id}",
new { action = "index", controller = "book" },
new string[] { "Web.Areas.Books.Controllers" }
);
这符合网址是这样的: HTTP:///书/ 4f6be481e8f6ae0a9063afe7
现在我有一个网址,这是下面的任一:
http://<domain>/book/4f6be481e8f6ae0a9063afe7/GetFullDescription?app=3
OR
http://<domain>/book/GetFullDescription?app=3&id=4f6be481e8f6ae0a9063afe7
我更喜欢第一条路线。我无法让它工作。 我在书本控制器中定义了一个动作GetFullDescription。
如果我注册一个像这样的路线,它会进入GetFullDescription操作。
context.MapRoute(
"BookFullDesc",
"book/{action}/{id}",
new { action = "index", controller = "book", id = UrlParameter.Optional },
new string[] { "Web.Areas.Books.Controllers" }
);
但http://<domain>/book/4f6be481e8f6ae0a9063afe7
网址打破
,除非我将其更改为 http://<domain>/book/index/4f6be481e8f6ae0a9063afe7
< - 注意索引的索引后
编辑: 我要的是一个路由同时服务的这2个URL:
http://<domain>/book/4f6be481e8f6ae0a9063afe7
http://<domain>/book/4f6be481e8f6ae0a9063afe7/GetFullDescription
感谢
给你的第二个路由,路由器将要寻找名为'4f6be481e8f6ae0a9063afe7'的操作方法 - 我怀疑这就是你以后。 – 2013-05-12 04:49:23
这是本书的id值。我有很多书籍 – kheya 2013-05-12 05:01:39