6 messaggi dal 09 novembre 2005
Ciao a tutti,
ho un problema con l'autocompleter di scriptacuolus e una pagina aspx.
Nell'aspx ho i seguente codice che effettua una chiamata ajax alla pagina stessa:
<script type="text/javascript">
document.observe('dom:loaded',function(){
var url = 'AutoCompleteTest.aspx';
var param_1 = 'p1';
new Ajax.Autocompleter('editCompelete','autoCompleteTarget',url);

})
</script>
<form>
<input type="text" id="editCompelete" name="nameEdit" />
<div id="autoCompleteTarget">
</div>
</form>

Nel codebehind riesco a reperire il valore inviato via form e ad effettuare una ricerca (in un file xml) estraendo i valori interessati.
Il problema è che non riesco ad associare da codebehind i valori estratti al div ('autoCompleteTarget') che dovrebbe contenerli.
Qualche suggerimento?
maximilian75 wrote:
Il problema è che non riesco ad associare da codebehind i valori estratti al div ('autoCompleteTarget') che dovrebbe contenerli.

se è un server control, allora il suo ID sarà generato in automatico, quindi devi usare questa variante:

new
Ajax.Autocompleter('editCompelete','<%=autoCompleteTarget.UniqueID%>',url);
in questo modo prendi l'ID corretto.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
6 messaggi dal 09 novembre 2005
Ciao,
non è un server control, ma un html control.
Credo che il problema sia il fatto che il popolamento dell'htmlcontrol avvenga a livello di postback... che con una chiamata ajax non si verifica....
per completezza posto il codice vb che uso per popolare l'htmlcontrol:

If Not String.IsNullOrEmpty(RequestPar("nameEdit")) Then
Dim param As String = RequestPar("nameEdit")
Try
xmlDoc.Load("C:\XMLFile1.xml")
nodeList = xmlDoc.SelectNodes("//element/NewsTitle")
returnedValues = returnValues(param, nodeList)
valuesarray = returnedValues.ToArray()
For y As Int32 = 0 To valuesarray.Length
autoCompleteTarget.InnerHtml += valuesarray(y).ToString()
Next

Catch ex As Exception
i = CShort(ex.Message.Length)
End Try
End If

Ho provato anche a creare una pagina apposta per la chiamata (che non sia la stessa da cui parte la chiamata Ajax), che genera solo un ul e relativi li, ma non funziona....
maximilian75 wrote:
non è un server control, ma un html control.

è un HTML control è un server control. qualsiasi cosa abbia l'attributo runat="server" lo è.

Ho provato anche a creare una pagina apposta per la chiamata (che non sia la stessa da cui parte la chiamata Ajax), che genera solo un ul e relativi li, ma non funziona....

non conosco la libreria e quindi non so cosa dire, ma di certo se quel metodo Javascript accetta l'ID del controllo, tu non glie lo stai passando in maniera corretta, ma devi utilizzare quella sintassi che ho specificato io.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

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.