2009-12-07 10 views
11

Ich habe den folgenden Code auf meiner aspx Seite:jqGrid, rufen URL mit Parametern für Json Rückkehr

jQuery("#listFondos").jqGrid({ 
    url: '/PorMyController/LoadGridData/', 
    datatype: 'json', 
    mtype: 'GET', 
    colNames: ['col1', 'col2',...etc 

Alles funktioniert gut, aber ich frage mich, ob es möglich ist die URL-Methode einige Senden anrufen Parameter. Ich weiß, dass standardmäßig, wenn Sie die URL-Methode aufrufen, jqGrid einige Parameter sendet Paging des Gitters zu steuern:

public ActionResult LoadGridData(string sidx, string sord, int page, int rows) 

Also, ich möchte einen zusätzlichen Parameter fügen Sie einige Filter auf die Daten zu machen, die gehen wird in das Raster geladen werden. Zum Beispiel würde Ich mag diese haben:

public ActionResult LoadGridData(string sidx, string sord, int page, int rows, string filterId) 

ich weiß, ich brauche nicht die ersten 3 Parameter angeben, Ursache jqGrid tut es standardmäßig, aber wie schicke ich die filterId Parameter?

Antwort

13

Ich löse das Problem selbst. Alle dass benötigt wird, um zu tun ist, den Parameter als Abfragezeichen auf die URL senden:

url: '/PorMyController/LoadGridData?filterId=123',...etc 

Die defaul Parameter für Paging werden wird sended halten, so dass Sie nur die zusätzlichen Parameter angeben.

1

Sie können eine Funktion anstelle eines benannten Datentyps für den Datentypparameter angeben. Dann können Sie in dieser Funktion manuell einen jQuery .ajax-Aufruf mit den von Ihnen gewünschten Parametern durchführen. Dieser Thread hat ein gutes Beispiel: here. (Speziell die letzte Antwort).