ich möchte gerne einen Suchbegriff bei einer paginierten Tabelle zur nächsten Seite mitnehmen.
Das ist eine durchaus gängige Anforderung.
Momentan mache ich das, indem ich den Suchbegriff als Session-Variable speichere, doch die bleibt natürlich auch nach dem Refresh der Seite, was ich jedoch nicht haben möchte.
Das ist aus meistens vielen Gründen keine besonders gute Idee, auch wenn Mr. Fantastic hier im Forum, nennen wir ihn einfach mal @TS das garantiert anders sieht.
Eine Möglichkeit, die mir in den Sinn kam, ist, statt Links zur Paginierung zu verwenden, diese zu Submit-Buttons zu machen. Dann könnte ich den Inhalt des Suchfelds mitnehmen. So richtig gut finde ich das aber nicht.
Ich vermute mal, Du willst einen POST-Requests statt eines GET provozieren. Kann man machen. Hängt zunächst aber nicht davon ab, ob Du einen Button verwendest. Darüber hinaus hat das viele Nachteile.
Eine zweite Möglichkeit wäre, die Suche als Query-String zu speichern.
M.E. die beste, soweit ich Deinen Use-Case verstanden habe. Speichern würde ich das dann aber nicht nennen. Du kreist eine URL, die zu nachvollziehbaren Ergebnissen führt. Das möchte man im Regelfall aus vielen Gründen gerne haben.
Sieht dann natürlich nicht so schön aus in der URL-Zeile.
Den ganzen Query-Kram kannst Du dabei mittels Rewrites usw. noch aufhübschen, aber das Prinzip bleibt.
Wenn Dein Problem wirklich nur sein sollte "huch, das ist aber eine hässliche Browserzeile": lass es bleiben.
Gibt es da so etwas wie eine Best-Practice-Methode?
ME ja: Query-Paramter für eine Suchabfrage gehören nach Möglichkeit in einen GET-Request.