我有以下路线:
Routes.MapRoute(
name: "go",
template: "{controller=Go}/{action=Go}/{*Data}");
我想在这样的网址上调用我的控制器:
/去/ somedatahere
我可以恢复 somedatahere 字符串
但这不会调用控制器。
如果我使用:
/去
/去?什么
然后控制器被调用
答案 0 :(得分:0)
根据您的路线
template: "{controller=Go}/{action=Go}/{*Data}")
表示URL
将为go/go/mydatahere
,当您使用/go
时,它会被调用,因为它会匹配您的路由控制器的名称{controller=Go}/{action=Go}
,这意味着当您键入/go
,它会知道您正在谈论Go Controller
和Go action
,因此会将您重定向到go/go
所以它应该是
routes.MapRoute(
name: "go",
template: "go/{*Data}",
defaults: new { controller = "Go", action = "Go" });
现在/go/somedatahere
将匹配路线的模板,/go/
之后的所有内容都将被视为Data