0

デフォルトルートを使用すると、パラメーターに疑問符が付いた URL が表示されます。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 -- URL が間違っています 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> 
4

1 に答える 1

0

最初のルートは 2 番目のルートより貪欲で、何らかの制約を使用しない限り、すべての URL に一致します。もう 1 つの可能性は、RouteUrlヘルパーを使用してルートの名前を指定することです。

<%= Url.RouteUrl("Default", new { action = "Editar", id = item.galeria_id }) %>
于 2011-12-22T11:31:15.320 に答える