【问题标题】:mappageroute for mydomain/product to mydomain/products/product将 mydomain/product 的 mappageroute 映射到 mydomain/products/product
【发布时间】:2011-03-14 17:23:17
【问题描述】:
目前我收到表单的任何产品页面的 404 错误
我的域名/产品
我想将这些映射到 mydomain/showproduct.aspx?pagename=product
是不是有点像
路线.MapPageRoute(
"产品",
"{产品名称}",
“~/showproduct.aspx”
);
不确定这是否可行,也不确定查询字符串
【问题讨论】:
标签:
asp.net
asp.net-mvc
iis-7
【解决方案1】:
您要映射的那个 URL 看起来更像是一个经典的 ASP.NET URL,而不是一个 MVC URL。在 MVC 中,您不是链接到物理文件,而是链接到控制器类中的操作方法。
在 MVC 中它应该看起来更像:mydomain/products/show/productname
默认的 URL 路由应该处理上面的 URL 结构:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
编辑:
如果您必须以其他方式执行此操作,请尝试以下操作:
routes.MapRoute(
"Page",
"{name}.aspx",
new { controller = "Page", action = "Index", id = "" }
);