Wie können wiederverwendbare Steuerelemente mithilfe von knockout, jquery und ASP.NET MVC erstellt werden?

8

Ich möchte wiederverwendbare Steuerelemente erstellen, die auf einer knockout / jquery / asp.net mvc-Seite verwendet werden

Zum Beispiel können verschiedene Elemente eine Diskussion (eine Liste von Kommentaren) haben. Ich möchte eine Diskussionskontrolle, die das Anzeigen und Hinzufügen von Kommentaren usw. Behandelt.

erste Gedanken sind, eine Teilansicht zu verwenden, um das HTML zu injizieren, und dann .js-Datei mit etwas Javascript zu haben, das das Knockout Viewmodel einrichtet. Es scheint jedoch ein wenig klobig. Ich frage mich nur, ob jemand eine wirklich nette Art hat, all dies zu tun und es als nette Kontrolle zu verpacken?

    
Keith Nicholas 16.10.2011, 22:48
quelle

3 Antworten

3

Hier ist ein Ansatz.

Sie haben einen separaten WebAPI-Controller für die Verarbeitung des Datenzugriffs von der Clientseite.

%Vor%

Ihre MVC-Controller haben Aktionen, die PartialViewResults zurückgeben. Es ist eine einfache Aktion, die eine Teilansicht zurückgibt.

%Vor%

Ihre Teilansicht macht Ihr Markup mit Knockout-Bindings aus. Wir erstellen eine eindeutige ID für unseren HTML-Code, damit wir unser Knockout-View-Modell an diesen bestimmten Abschnitt der Seite binden können (vermeiden Sie Konflikte mit anderen Knockout-Komponenten auf der Seite). Das JavaScript, das wir benötigen (knockout viewmodels etc.), wird eingebunden, ein neues ViewModel erstellt und Knockout-Bindings angewendet.

%Vor%

In unserem JavaScript definieren wir unsere Knockout Viewmodels etc.

%Vor%

Und wir sind fertig! Um diese neue Komponente zu verwenden, können wir RenderAction

verwenden %Vor%     
elwyn 04.07.2013 11:21
quelle
0

Wenn Sie unter "Steuerelement" die Art der Kontrolle verstehen, die wir von ASP.NET-WebForms gewohnt sind, ist das, was Sie in ASP.NET MVC am nächsten haben, HTML-Helfer . Da es sich im Grunde genommen nur um normale .NET-Methoden handelt, die HtmlString zurückgeben, können Sie verpacken Sie einfach alles, was Sie wollen, in eine Assembly, die diese Methoden zusammen mit eingebetteten Ressourcen (für JavaScript, CSS und Bilddateien).

    
Asbjørn Ulsberg 16.10.2011 23:00
quelle
0

Wenn Sie Ihren HTML-Code automatisch mit knockout verbinden möchten, werfen Sie einen Blick auf mein Plug-in Ссылка .

Dies ist immer noch ein Work-in-Progress. Um es zu benutzen, schau dir eine Demo-Geige an Ссылка .

Sie können auch die Liste einiger verfügbarer Plug-Ins unter Ссылка

sehen     
photo_tom 17.10.2011 01:12
quelle