Domanda

Mi è stato dato un prototipo / mockup di una griglia scritta in html e javascript (tramite ExtJS) che ora devo implementare all'interno di un'applicazione web ASP.net. Qualcuno ha qualche suggerimento su come passare i dati alla griglia (a un GroupingStore, in particolare).

Preferirei non avere una proliferazione di servizi Web o di pagine di supporto che restituiscono XML / JSON, quindi se c'è un modo per utilizzare i callback o i metodi di pagina del client (non puoi dire che non ho familiarità con nessuno dei due - buzzword bingo !) o qualcosa del genere, sarebbe preferibile.

Per favore, nessun consiglio che io uso jQuery, la griglia ASP.net integrata o qualsiasi altro framework dell'interfaccia utente. L'uso della griglia ExtJS è stato richiesto dai poteri che sono, quindi questa è la griglia che sto usando, nel bene o nel male :)

È stato utile?

Soluzione

Ecco una soluzione a bassa tecnologia. Non richiede l'uso di servizi Web o di altre tecnologie aggiuntive.

Passaggio 1

Avere una pagina ASPX che accetta un parametro e invocata in questo modo:

http://mysite.com/query.aspx?sql=select * from orders where status = 'open'

Passaggio 2

Nel codice dietro, fai qualcosa del genere

void Page_Load(object sender, EventArgs e)
{
   Response.ContentType="text/json"; 
   DataTable contents = ExecuteDataTable(Request["sql"]);
   Response.Write( JRockSerialize( contents ) );
   Response.End();
}

Puoi utilizzare JRock per serializzare una tabella di dati su JSON. IMHO questo dà il JSON più pulito.

Quindi sta ottenendo DataTable su JSON ordinati ...

ATTENZIONE: questo è ovviamente un esempio semplicistico. Non è necessario passare SQL sulla stringa di query poiché non è sicuro (è possibile utilizzare invece query e parametri denominati).

Passaggio 3

Nel tuo codice ExtJS, crea una griglia con archivio dati Json come mostrato in questo Esempio ext . Impostare l'archivio dati url: su quello della pagina query.aspx con i parametri della stringa di query appropriati.

Dovrai anche impostare le colonne per la griglia, mostrate di nuovo nell'esempio ExtJs.

In alternativa ...

Sono rimasto davvero impressionato quando ho guardato di recente i campioni Coolite . Sono un partner ExtJS e forniscono un buon ASP.NET & amp; Esperienza ExtJS. E no, non lavoro per loro :) Non ho provato la loro griglia, ma potrebbe essere indolore (a un prezzo).

Altri suggerimenti

Credo che un servizio che ritorni semplicemente strutture json per le tue pagine sia l'opzione migliore, ben astratto e riutilizzabile attraverso l'applicazione piuttosto che i metodi di pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top