我有一个参数,我想用作URL的默认结尾,但它目前是一个参数。我希望它始终指向家庭控制器&索引操作,但“/”成为pageName参数。
例如,我想要
http://localhost:18792/?pageName=HomePage
可通过以下方式访问:
http://localhost:18792/HomePage
这是我目前的路线。地图:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{pageName}",
defaults: new { controller = "Home", action = "Index", pageName = "HomePage" }
);
答案 0 :(得分:4)
为此,您必须为每个页面创建路线。不要修改“默认”路线。 。添加新路线:
routes.MapRoute(
name: "HomePage",
url: "HomePage",
defaults: new { controller = "Home", action = "HomePage" }
);
对于动态路线,您可以使用:
routes.MapRoute(
name: "PageName",
url: "{pageName}",
defaults: new { controller = "Home", action = "Index", pageName = "defaultPage" }
);
将使用“Home”控制器中的Action“Index”映射到〜/ defaultpage或〜/ homepage:
public ActionResult Index(string pageName)
{
ViewBag.Message = pageName;
return View();
}