Pau*_*aul 5 c# model-view-controller routes
我有一个默认的c#mvc路由:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}"
new { controller = "Home", action = "Index", id = "Welcome" }
);
Run Code Online (Sandbox Code Playgroud)
现在我会得到像这样的网址:
mysite.com/Home/Index/Page1
mysite.com/Home/Index/Page2
mysite.com/Home/Index/Page3
mysite.com/Account/Login
mysite.com/Account/Etc
Run Code Online (Sandbox Code Playgroud)
但是我希望第一组有一个更短的网址,如:
mysite.com/Page1
mysite.com/Page2
mysite.com/Page3
mysite.com/Account/Login
mysite.com/Account/Etc
Run Code Online (Sandbox Code Playgroud)
我希望代码非常简单,如:
routes.MapRoute(
"Shorturl",
"{id}",
new { controller = "Home", action = "Index", id = "Welcome" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}"
new { controller = "Home", action = "Index", id = "Welcome" }
);
Run Code Online (Sandbox Code Playgroud)
但这不起作用.它只会采取第一条路线而忘记第二条路线.如果只有一个参数(如mysite.com/Page1),如何使程序采用第一条路径,当有多条路径(如mysite.com/Account/Login)时,如何采用第二条路径?
编辑:我可以这样做:
routes.MapRoute("Short", "short/{id}", new { controller = "Home", action = "Indx", id = "Page1" } );
Run Code Online (Sandbox Code Playgroud)
但是我会在网址中看到一个丑陋的"短/".我可以解决它:
routes.MapRoute("Page1", "Page1", new { controller = "Home", action = "Index", id = "Page1" } );
Run Code Online (Sandbox Code Playgroud)
但是我需要手动添加每个新页面...
你可能想尝试这样的事情。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Short", // Route name
"{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
Run Code Online (Sandbox Code Playgroud)
确保将其添加到默认路由之前(或者如果需要,甚至可以删除默认路由)
但这些的添加顺序很重要。
缺少一点信息,即控制器内的操作。
public ActionResult Index(string id)
{
ViewBag.Message = "Welcome to ASP.NET MVC!"+id;
return View();
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
问候。
| 归档时间: |
|
| 查看次数: |
3944 次 |
| 最近记录: |