我有一个ASP.NET MVC应用程序。
我将routingUrl设为 http:// myapp / Home / Products / Productname / DocTypename / CountryName 现在我正在尝试将网址设为 http:// myapp / Products /产品名称/文档名称/国家名称
由于我只有一个控制器,我想从网址中删除主页目录。
这是我在Global.asax中的代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{ProductName}/{DocTypename}/{CountryName}", // URL with parameters
new { controller = "Home", action = "Products", ProductName = UrlParameter.Optional, DocTypename = UrlParameter.Optional, CountryName = UrlParameter.Optional } // Parameter defaults
);
}
此处ProductName / DocTypename / CountryName是动态的。
当我在上面的代码中没有指定控制器时,我收到以下错误:
RouteData必须包含名为“controller”的项目,其中包含非空字符串值。
感谢您的时间。
由于
答案 0 :(得分:1)
尝试这条路线,但要确保它在默认路线之前..
routes.MapRoute(
"Default", // Route name
"{action}/{ProductName}/{DocTypename}/{CountryName}", // URL with parameters
new { controller = "Home", action = "Products", ProductName = UrlParameter.Optional, DocTypename = UrlParameter.Optional, CountryName = UrlParameter.Optional } // Parameter defaults
);