43 messaggi dal 22 ottobre 2007
Ciao a tutti,

sono abbastanza neofita del mondo asp.net.
Ho un
<input type="text" name="q" id="lista" />

che posso valorizzare tramite una funzione jquery di autocomplete che mi restituisce i comuni d'italia:
        
<script type="text/javascript">
   var listacitta = [];
   var comuni = [<asp:Repeater id="queryres2" runat="server"><ItemTemplate>{comune:"<%# HttpUtility.JavaScriptStringEncode(Eval("comune"))%>", provincia:"<%# HttpUtility.JavaScriptStringEncode(Eval("provincia"))%>"}</ItemTemplate><SeparatorTemplate>,</SeparatorTemplate></asp:Repeater>];
        
    for (var i = 0; i < comuni.length; i++) {
        var comune = comuni[i]["comune"];
        var provincia = comuni[i]["provincia"];
        var citta = comune + " (" + provincia + ")";
        listacitta[i] = citta;
    };
  
    var a1;
    
    jQuery(function() {
        a1 = $('#lista').autocomplete({
            width: 150,
            delimiter: /(,|;)\s*/,
            lookup: listacitta
        });
    });

una volta scelta la città non riesco a passare il valore della text ad asp.net

Ho provato in vari modi ma o ho errore o non mi restituisce niente.

come si fa il passaggio?
grazie anticipatamente
103 messaggi dal 04 ottobre 2010
L'input deve stare dentro ad un tag form, e dopo che questo input è valorizzato, si deve fare un submit sul form. Ora, o il submit lo fai con i meccanismi intrinsechi del .Net Framework (basta mettere un asp:button all'interno del form e clickare il bottone che viene generato sulla pagina web), oppure fai un input type button che prende il form e fa il submit. La prima opzione, a meno di non modificare il form autogenerato da asp.net alla creazione di una pagina aspx togliedogli l'attributo runat="server", è la preferibile. Una volta avvenuto il submit, la pagina indicata dall'attributo action del form, viene chiamata a livello server (e generata da esso), iniziando lato server quello che si chiama "ciclo di vita di una pagina" - ti consiglio di documentarti su questo ciclo.

Se il form è runat="server", e l'action punta alla pagina medesima (o non è stato specificato come attributo), ed il pulsante è un asp:button viene rigenerata la pagina stessa ed avviene ciò che è riconosciuto come PostBack. Altrimenti sarebbe più corretto chiamarlo POST, anche se la pagina rigenerata è sempre la stessa. Sia che sia PostBack, o che sia un POST, è possibile sottoscrivere diversi punti di questo ciclo di vita di una pagina, percorso dalla sua generazione sul server. Se per esempio, decidi di sottoscrivere il Page_Load, che identifica - LATO SERVER - il caricamento della pagina, (ti consiglio di impostare un break point per vedere se riesci a far scaturire questo evento) potrai ritrovare l'oggetto Request che rappresenta la richiesta della pagina. Questo oggetto ha un dizionario, chiamato Form, che contiene tutti i valori passati nel POST o nel PostBack, dove, per ritrovare il valore dell'input, dovrai usare questa forma: Request.Form["q"]

L'oggetto Request, comunque, è disponibile anche negli altri step del ciclo di vita della pagina.
Modificato da Biohazard il 19 marzo 2013 15.01 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.