我有控制器:DoomPlaceController
In route: I have used: doom-place/{parameter} // no action
和控制器:
[Route("doom-place/{parameter}")]
public ActionResult Index(string parameter)
{
return View();
}
我想要什么:当我点击网址时:www.xyz.com/doom-place
它应该打开Doom-Place/index
页。
但是现在,我可以使用doom-place/index
访问该页面,但是当我点击www.xyz.com/doom-place
时,它会自动打开索引页。
帮助将不胜感激。
答案 0 :(得分:2)
您可以将参数设为可选
[RoutePrefix("doom-place")]
public class DoomPlaceController : Controller {
//Matches GET /doom-place
//Matches GET /doom-place/some_parameter
[HttpGet]
[Route("{parameter?}")]
public ActionResult Index(string parameter) {
return View();
}
}
鉴于正在使用属性路由,假设已在RouteConfig.RegisterRoutes
中启用了属性路由
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);
//enable attribute routing
routes.MapMvcAttributeRoutes();
//covention-based routes
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}