【发布时间】:2017-03-06 19:34:41
【问题描述】:
我有 asp.net 核心应用程序。在我的应用程序中,默认路由设置为Home/Index/id
我还有一个控制器名称Document
public class DocumentController : Controller
{
public IActionResult Index(int? id)
{
// id may be null. Do something with id here
return View();
}
public IActionResult Detail(int id)
{
return View();
}
}
在 startp.cs 中我设置了如下路线
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "document",
template: "Document/{action}/{id?}",
defaults: new { controller = "Document", action = "Index" });
});
我可以使用http://localhost:40004/Document 或http://localhost:40004/Document?id=1234 浏览文档视图
但是我希望以下路线有效http://localhost:40004/Document/1234http://localhost:40004/Document?id=1234http://localhost:40004/Document/Details/1234http://localhost:40004/Document/Details?id=1234
startup.cs 中的路由配置应该是什么?
【问题讨论】:
-
您的问题更新与您原来的帖子不同!在有人为您的第一篇帖子发布答案后,您不应该这样做
-
您想返回所有请求的详细信息视图?
-
没有。他们是两条不同的路线。
http://localhost:40004/Document/1234应该返回Index视图,http://localhost:40004/Document/Details/1234应该返回Detail视图 -
查看更新后的答案。
标签: asp.net asp.net-mvc routes asp.net-core asp.net-core-mvc