jquery datatables actionlink zum Hinzufügen

7

Ich habe die letzten paar Stunden gesucht, und leider kann ich kein Beispiel dafür finden, wie man eine Datentabelle mit einer Aktions-Edit- und Delete-Link-Spalte mit .net und MVC füllt.

Hier ist was ich bisher habe, wie füge ich einen Aktionslink hinzu? Was vermisse ich?

%Vor%

Ich möchte das in der letzten Spalte hinzufügen;

%Vor%

Aber kann nicht herausfinden, wie es geht.

    
nitefrog 29.06.2012, 06:08
quelle

6 Antworten

17

Sie können die Eigenschaft aoColumns mit der Funktion fnRender verwenden, um benutzerdefinierte Spalten hinzuzufügen. Sie können den Helfer Html.ActionLink nicht verwenden, da Sie die Links dynamisch aus dem Javascript generieren müssen. Die aoColumns -Eigenschaft hilft Ihnen, jede Spalte zu konfigurieren. Wenn Sie keine bestimmte Spalte konfigurieren möchten, übergeben Sie einfach null else, und übergeben Sie eine object({}) .

Die Funktion fnRender hilft Ihnen beim Erstellen der Verknüpfungen mit den Werten der anderen Spalten. Sie können oObj.aData verwenden, um die Werte der anderen Spalte wie id zu erhalten, um die Links zu generieren.

%Vor%

Eine weitere wichtige Sache in der JSON-Ausgabe, die Sie vom Server zurückgeben, für die Bearbeitungsspalte müssen Sie auch etwas wie 1, 2, 3 oder irgendetwas zurückgeben.

Referenz: Ссылка

    
VJAI 29.06.2012, 13:21
quelle
7

Der fnRender wurde abgeschrieben und der mRender erhält nicht die gleichen Parameter.

Dies funktioniert für mich, folgen Sie dem @ Mark-Beispiel:

%Vor%     
Fernando JS 16.06.2014 18:57
quelle
3

Die anderen Antworten verwenden die Legacy-DataTables-Syntax. Für DataTables 1.10+ lautet die Syntax für columnDefs wie folgt:

%Vor%

Hinweis: Um das Modell im ActionLink zu erhalten, benutze ich JavaScript replace () , um die Zeichenfolge" replace "durch data zu ersetzen, die zuvor in der SpalteDef

als" RoleId "definiert wurde     
devlin carnate 23.01.2017 18:27
quelle
2

Ein anderer Ansatz mit aoColumnDefs

%Vor%     
bsting 10.11.2014 09:39
quelle
0

Ich habe den erwähnten Code für die Datentabelle 1.10+ verwendet, aber die Zeichenfolge in der Datentabelle anstelle der Verknüpfung abgerufen.

%Vor%

Beachten Sie, dass die alte Version von mvc3 auf der Lösung verwendet wird Hier mein Javascript:

%Vor%     
user8527840 28.08.2017 14:09
quelle
0

Ich habe einen anderen Weg gefunden, diesen Aktionslink mit Hilfe von Beitrag (Olivier Kommentare):

Sie fügen Datenattribute in den Tabellenknoten ein, die Sie im Javascript wiederverwenden

in cshtml:

%Vor%

in Ihrer * .js-Datei im Bereich columndefs:

%Vor%     
user8527840 28.08.2017 15:18
quelle