2 Stimmen

Wie kann man Post/[id]/Kommentare/[Action] in ASP.NET MVC zuordnen?

Ich möchte eine RESTful API für meine Blog-Anwendung erstellen, aber ich kann nicht sagen, wie man Controller wie diese zuordnen.
Wie kann man das machen? Sollte Post im URL-Muster fest kodiert sein?

5voto

Ufuk Hacıoğulları Punkte 36960

Sie könnten eine Route wie folgt planen:

routes.MapRoute(
        "ShowComments", // Route name
        "Post/{id}/Comments/{action}", // URL with parameters
        new { controller = "CommentsController", action = "Show" } // Parameter defaults
        );

Es ist nichts falsch daran, URLs fest zu kodieren, es sei denn, alles, was Sie hinzufügen, benötigt fest kodierte URLs und sie werden unwartbar.

Was ich verstehe, ist, dass Sie CommentsController nur über diese Route aufrufen möchten. Sie wollen nicht, dass er von der Standardroute aufgerufen wird. Sie können verwenden IgnoreRoute dafür.

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute(“Comments/{action}/{id}”);
}

Dadurch wird sichergestellt, dass CommentsController nicht ohne die zuvor definierte Route aufgerufen wird. Ich hoffe, das war das, was Sie zu tun versucht haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X