我想做一条这样的路线:
routes.MapRoute(
"Default", // Route name
"{s}", // URL with parameters
new { controller = "Home", action = "Index", s = UrlParameter.Optional }
);
其中s是默认控制器和操作的参数..这可能吗?我也会满足于:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{s}", // URL with parameters
new { controller = "Home", action = "Index", s = UrlParameter.Optional }
);
routes.MapRoute(
"qMap", // Route name
"sc/{s}", // URL with parameters
new { controller = "Home", action = "Index", s = UrlParameter.Optional }
);
但是没有工作..我怀疑因为第一个元素/参数总是被期望成为一个控制者?
答案 0 :(得分:0)
如果您只有以下路径定义(确保已从RegisterRoutes方法中删除了所有其他路径定义):
routes.MapRoute(
"Default",
"{s}",
new { controller = "Home", action = "Index", s = UrlParameter.Optional }
);
和以下控制器:
public class HomeController: Controller
{
public ActionResult Index(string s)
{
...
}
}
表单http://foo.com/abc
的请求将被路由到Home
控制器,Index
操作将被调用并传递s=abc
。