Asp.net mvc3中的路由加密
我已经定义了以下路线Asp.net mvc3中的路由加密,asp.net,asp.net-mvc,asp.net-mvc-routing,Asp.net,Asp.net Mvc,Asp.net Mvc Routing,我已经定义了以下路线 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "portfolios", // Route name "{controller}/{name}", // URL with parameters defau
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"portfolios", // Route name
"{controller}/{name}", // URL with parameters
defaults: new { controller = "portfolio", action = "portolio"} // Parameter defaults
))
我想把url显示为www.abc/portfolio/nameofportfolio
路由正在运行,url以正确的模式显示
问题
但是当我打电话的时候
www.abc/portfolio/create
它再次路由到上述操作,而不是在控制器中调用创建操作。有人能告诉我解决这个问题的方法吗
关于能否请您修改代码如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"portfolios", // Route name
"{controller}/{action}/{id}", // URL with parameters
defaults: new { controller = "portfolio", action = "portolio",id = UrlParameter.Optional} // Parameter defaults
}
代码中的问题是您没有在url参数中指定操作