Erstellen eines wiederverwendbaren Steuerelements in ASP.NET MVC

8

Wie kann / soll ich ein "benutzerdefiniertes Steuerelement" in ASP.NET MVC 3 erstellen? Ich habe rot über partielle Ansichten, ViewUsersControl , Html.RenderAction , aber ich weiß immer noch nicht, welcher Weg ist die richtige MVC Weg für Rasierer Ansichten.

Wenn ich eine Ajax-Komponente zum Anzeigen rendern muss, kann ich mir vorstellen, es mit Teilansicht zu machen, aber was ist, wenn ich einen Abschnitt mit benutzerdefinierter Logik rendern möchte?

    
Fanda 02.09.2013, 07:13
quelle

4 Antworten

17

1) PartialViews

2) Benutzerdefinierte HTML-Helfer

3) Kindaktionen

Aktualisiere ASP.NET Core:

2) Tag-Helfer werden gegenüber Custom bevorzugt HTML-Helfer

3) View Components werden anstelle von Child Actions     

syned 02.09.2013, 07:20
quelle
8

Sie können

verwenden %Vor%

Erstellen Sie beispielsweise in Ihrem Ordner Shared ein neues View und nennen Sie es "_MyCustomControl"

Dann im Code schreiben:

%Vor%

Dann fügen Sie in Ihren Ansichten, in denen Sie "control" verwenden möchten, Folgendes hinzu:

%Vor%

Wenn Sie Probleme mit RenderPartial haben, überprüfen Sie dies

    
Giannis Paraskevopoulos 02.09.2013 07:21
quelle
1

Zusätzlich zu all den anderen Antworten für diesen Beitrag kann ich Ihnen die Verwendung von EditorFor- und DisplayFor-Vorlagen anbieten. Diese sind nützlich, wenn Sie einen benutzerdefinierten Typ einfach rendern oder bearbeiten möchten. Es wird gut mit der Validierung umgehen (was bei Verwendung von Partials komisch werden kann) und Sie können sie rekursiv verschachteln (wieder ein anderes Feature, das offensichtlich nicht nützlich ist, bis Sie es brauchen).

Sie können auch Html.RenderAction() oder Html.Action() verwenden, um eine andere Controller-Aktion in einer Ansicht aufzurufen und die Ergebnisse in einer Zeile auf der Seite anzuzeigen. Dies ist wahrscheinlich das, was Sie am ehesten brauchen, da es Ihnen ermöglicht, einen partiellen Code in den Controller zu integrieren und auch die Übergabe von Parametern zu ermöglichen.

Links zu:

DisplayFor und EditorFor Templates

Action und RenderAction

    
quelle
0

Wie Sie erwähnt haben, können Sie Teilansichten verwenden. Ja, Sie können Teilansichten verwenden, was der effektivste und effizienteste Weg ist.

Beim Ajax-Rendern können Sie immer

verwenden %Vor%

Wenige der Links, die Sie sehen möchten

Rendering Teilansicht in ASP.Net MVC3 Razor mit Ajax

Teilansichten mit JQuery in MVC3 rendern

    
Nipun Ambastha 02.09.2013 07:29
quelle