我有两条路线,当我使用默认路线时,它会在参数中显示带有问号的网址。我正在 Editar / id?3 - 而不是 Editar / id / 3 。另一条路线工作正常,你能不能给我一些启发。谢谢。
Global.asax中
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"GaleriaCustom", // Route name
"{controller}/{action}/{categoria}/{subCategoria}", // URL with parameters
new { controller = "Galeria", action = "Index", categoria = "Noivinhos", subCategoria = 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
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
Index.aspx - 错误的网址 Editar / id?3 - 而不是 Editar / id / 3
<a href="<%: Url.Action("Editar", new{ id = item.galeria_id }) %>"><img src="<%: Url.Content("~/Content/Img/Design/editar.png") %>" alt="Editar" title="Editar"/></a>
<a href="<%: Url.Action("Detalhe", new { id=item.galeria_id }) %>"><img src="<%: Url.Content("~/Content/Img/Design/detalhe.png") %>" alt="Detalhe" title="Detalhe"/></a>
<a href="<%: Url.Action("Excluir", new { id=item.galeria_id }) %>"><img src="<%: Url.Content("~/Content/Img/Design/delete.png") %>" alt="Excluir" title="Excluir"/></a>
答案 0 :(得分:0)
您的第一条路线比第二条路线更贪婪,除非您使用某些限制条件,否则它将匹配所有网址。另一种可能性是使用RouteUrl
帮助程序并指定路由的名称:
<%= Url.RouteUrl("Default", new { action = "Editar", id = item.galeria_id }) %>