Markieren Sie die Kontrollkästchen für die Controller-Aktion, ohne HTML-Hilfefunktionen wie Html.CheckboxList zu verwenden

8

Ich habe eine Liste von Elementen und möchte Elemente löschen, die in einer Liste mit Kontrollkästchen markiert sind.

Ich kann etwas wie CheckboxList nicht verwenden, da ich Grid.Mvc verwende, um meine Zeilen anzuzeigen. Deshalb erstelle ich in jeder Zeile Checkboxen mit column.add("<input type="checkbox".....>); .

Jedes Kontrollkästchen hat eine eigene ID:

%Vor%

Ich würde gerne wissen, wie man alle überprüften Checkbox-IDs an den Controller weiterleitet (von dort aus führe ich Löschoperationen durch). Wie kann ich ein Array von überprüften IDs aus meinem Formular mit einem Tastendruck an meine Controller-Aktion senden?

    
user2614879 30.07.2014, 13:55
quelle

2 Antworten

30

Beispiel für generiertes HTML:

%Vor%

Controller Aktion:

%Vor%

Beachten Sie, dass die Kontrollkästchen kein id -Attribut haben. Es wird nicht für die Modellbindung verwendet. Stattdessen hat es ein name -Attribut mit dem Namen "deleteItems", das mit dem Namen des Arguments der MyAction -Controlleraktion übereinstimmt, und das wird beim Modellbinden verwendet. Das Attribut value der aktivierten Kontrollkästchen wird verwendet, um das Array deletedItems von int[] zu füllen.

    
Jeremy Cook 30.07.2014, 14:13
quelle
1

Wenn Sie möchten, dass HTML wie

generiert wird %Vor%

Dann können Sie den folgenden Code verwenden

%Vor%

Es werden ausgewählte Elemente nicht an den Controller übergeben.

    
Jun Fan 24.09.2015 17:24
quelle