Il framework Atlas è nato per fornire funzionalità aggiuntive alle pagine ASP.NET e lo fa con tecnologie lato client quali Javascript library, XML script e behaviors o con tecnologie lato server.
Tra queste ultime ci sono classi che derivano da Microsoft.Web.UI.ExtenderControl, il cui scopo è estendere controlli già esistenti dotandoli di un'esperienza grafica migliore.
La classe AutoCompleteExtender permette ad una TextBox di mostrare una casella a discesa, per facilitare l'utente nel digitare il testo suggerendo parole che il motore ritiene attinenti.
Per far ciò, l'extender utilizza un webservice asmx da noi definito contenente un'operazione con la seguente firma (il nome è libero):
string[] GetSuggestions(string prefixText, int count)
Ogni qual volta l'utente digita del testo, l'extender lo invia passandolo tramite il parametro "prefixText" e indicando con "count" quante parole possiamo restituire come array di stringhe.
Nell'esempio allegato il webservice restituisce le città in base a ciò che l'utente digita.
Ora che abbiamo creato il servizio, inseriamo la textbox nella pagina seguita dalla definizione dell'extender:
<asp:TextBox ID="city" runat="server" /> <atlas:AutoCompleteExtender ServicePath="CitiesService.asmx" ServiceMethod="GetSuggestions" MinimumPrefixLength="1" runat="server"> <atlas:AutoCompleteProperties TargetControlID="city" Enabled="true" /> </atlas:AutoCompleteExtender>
La classe AutoCompleteExtender è un controllo e quindi può essere definita all'interno della pagina ASP.NET. Tramite la proprietà ServicePath indichiamo il webservice da utilizzare, con ServiceMethod il nome del metodo e con MinimumPrefixLength il numero minimo di lettere che l'utente deve digitare prima di ricevere suggerimenti.
Con il tag AutoCompleteProperties invece indichiamo uno o più controlli che vogliamo dotare dell'autocomplete, impostando TargetControlID con l'ID della textbox.
In realtà ciò che emette il controllo è un XML script che fa uso del behavior autoComplete basato sempre su http async per la chiamata al nostro webservice.
Per approfondimenti su ATLAS si veda:
http://atlas.aspitalia.com/
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Creare una libreria CSS universale: Cards
- Eseguire script pre e post esecuzione di un workflow di GitHub