Frage

Auf meiner Seite habe ich zwei WebGrids. Wenn ich auf eine klicke, um diese Spalte zu sortieren, werden beide Gitter in dieser Spalte sortiert. Das Sortieren in einer Spalte, die nur in einer Spalte enthalten ist, wird überhaupt nicht sortiert.

Ich habe festgestellt, dass die Sortierung funktioniert, indem der Header als Link zu derselben Seite mit einer Spalte und einer Richtung in der Abfragezeichenfolge erstellt wurde. Dies erklärt, dass beide Gitter betroffen sind. Ich habe mich gefragt, ob das WebGrid über Funktionen zur Lösung meines Problems verfügt oder ob ich es selbst beheben sollte.

Ich plane, "es selbst zu reparieren", indem ich zuerst den Tabellen-Tags ein ID-Attribut hinzufüge, indem ich die htmlAttributes setze. Dann werde ich jQuery verwenden, um diese ID für jedes Webgrid zu finden und diese ID in die Link-Parameter aufzunehmen. Wenn ich dann eine Seite mit einem Raster lade, werde ich anhand dieser Parameter zwangsweise festlegen, nach welcher Spalte sortiert werden soll.

Mir scheint, dass das WebGrid nicht für eine Seite mit einem anderen WebGrid ausgelegt ist. Ich habe jedoch das Gefühl, dass dies in meiner Situation erwünscht ist. Ich bevorzuge eine Standardmethode (eingebaut oder nur das, was alle anderen verwenden).

Die Frage ist also, wie geht das am besten? Und wenn es keinen besten Weg gibt, ist mein Weg ein guter Weg (habe ich etwas vergessen)?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Ich denke, Sie müssen die folgenden Eigenschaften festlegen:

string fieldNamePrefix = null 
//The value which prefixes the default querystring fields

string pageFieldName = null 
//A value that replaces the default querystring page field 


var grid1 = new WebGrid(canPage: true,  canSort: true, ajaxUpdateContainerId: "grid1", fieldNamePrefix:"g1",pageFieldName: "p1");

var grid2 = new WebGrid(canPage: true,  canSort: true, ajaxUpdateContainerId: "grid2", fieldNamePrefix:"g2",pageFieldName: "p2");

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top