Problemi con controllo ajax AutoComplete Extender

lunedì 21 febbraio 2011 - 14.30
Tag Elenco Tags  C#  |  VB.NET  |  .NET 2.0  |  .NET 3.5  |  .NET 4.0  |  Windows Server 2003  |  Windows 7  |  Windows XP  |  Visual Studio 2010  |  Visual Studio 2008  |  SQL Server 2005  |  SQL Server 2000  |  Internet explorer 8.0  |  Internet Explorer 7.0  |  Javascript  |  VBScript  |  CSS 2.1  |  CSS 3.0  |  XHTML 1.1  |  XHTML 2.0

barbonio Profilo | Newbie

Ciao a tutti, non so se è la stanza giusta per aprire questo thread, ma sono 3 giorni che sto letteralmente impazzendo..
Vi espongo il problema: ha una textbox dove devo digitare la nazione di nascita di uno straniero, alla quale ho associato un controllo ajax AutoComplete extender che dovrebbe scatenare un webservice con il metodo GetCompletionList, che a sua volta dovrebbe restituire la lista delle nazioni codificate che iniziano con le lettere imputate nella textbox, andandole a pescare da un DB SQL Server. E qui viene il bello.......digitando le lettere nella textbox non accade proprio nulla!
Ho provato a puntare direttamente al WS ed inserendo due lettere nella casella di richiesta.....funziona regolarmente restituendo la lista delle nazioni
Effettuando alcune ricerche sul web ho fatto alcune prove senza successo:
impostare l'intervallo di completamento a 1 msec....nulla
impostare un break sul metodo del WS per verificare se l'evento viene scatenato...nulla
ho fatto anche altre prove sull'impostazione di scriptmethod anzichè webmethod ma ancora nulla....
Ho anche installato fiddler per controllare il flusso ma nn ne sono venuto a capo!!
Sono convinto che sia qualcosa nel controllo...se qualcuno di Voi ha avuto simili problemi ed ha risolto, lo prego vivamente di aiutarmi......
Vi posto di seguito il codice:
pagina aspx content
<%@ Page Title="Dettagli sull'organizzazione" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false"
CodeBehind="About.aspx.vb" Inherits="WebApplication1.About" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">

</ajaxToolkit:ToolkitScriptManager> <h2>
Informazioni su
</h2>
<p>
Inserire il contenuto qui.
</p><br />
<asp:TextBox ID="myTextBox" runat="server" AutoComplete="Off"></asp:TextBox>
<ajaxToolkit:AutoCompleteExtender
ID="ACE1"
runat="server"
DelimiterCharacters=""
Enabled="True"
ServicePath="~/AutoComplete.asmx"
ServiceMethod="GetCompletionList"
TargetControlID="myTextBox"
UseContextKey="True"
MinimumPrefixLength="2"
ShowOnlyCurrentWordInCompletionListItem="True"
CompletionInterval="1"
EnableCaching="True"
CompletionSetCount="10"
BehaviorID="AutoCompleteEx"
CompletionListCssClass="autocomplete_completionListElement"
CompletionListItemCssClass="autocomplete_listItem"
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem">
<Animations>
<OnShow>
<Sequence>
<%-- Make the completion list transparent and then show it --%>
<OpacityAction Opacity="0" />
<HideAction Visible="true" />

<%--Cache the original size of the completion list the first time
the animation is played and then set it to zero --%>
<ScriptAction Script="
// Cache the size and setup the initial size
var behavior = $find('AutoCompleteEx');
if (!behavior._height) {
var target = behavior.get_completionList();
behavior._height = target.offsetHeight - 2;
target.style.height = '0px';
}" />

<%-- Expand from 0px to the appropriate size while fading in --%>
<Parallel Duration=".4">
<FadeIn />
<Length PropertyKey="height" StartValue="0" EndValueScript="$find('AutoCompleteEx')._height" />
</Parallel>
</Sequence>
</OnShow>
<OnHide>
<%-- Collapse down to 0px and fade out --%>
<Parallel Duration=".4">
<FadeOut />
<Length PropertyKey="height" StartValueScript="$find('AutoCompleteEx')._height" EndValue="0" />
</Parallel>
</OnHide>
</Animations>
</ajaxToolkit:AutoCompleteExtender>

<script type="text/javascript">
// Work around browser behavior of "auto-submitting" simple forms
var frm = document.getElementById("aspnetForm");
if (frm) {
frm.onsubmit = function () { return false; };
}
</script>
<%-- Prevent enter in textbox from causing the collapsible panel from operating --%>
<input type="submit" style="display:none;" />

</asp:Content>


webservice
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Web.Script.Services
Imports System.Collections.Generic
Imports System.Xml


<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ScriptService()> _
Public Class AutoComplete
Inherits System.Web.Services.WebService


<WebMethod()> _
<ScriptMethod()> _
Public Function GetCompletionList(ByVal prefixText As String, ByVal Int As Integer) As List(Of String)
Dim myConnection As Data.SqlClient.SqlConnection
Dim myDataAdapter As Data.SqlClient.SqlDataAdapter
Dim myDataSet As Data.DataSet
Dim dtr As Data.DataRow
Dim i As Long
myConnection = New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("ArchivioStranieri").ConnectionString)
myDataAdapter = New Data.SqlClient.SqlDataAdapter("SELECT CodNazione, Nazione FROM tblNazioni WHERE Nazione like N'" & prefixText & "%'", myConnection)
myDataSet = New Data.DataSet()
myDataAdapter.Fill(myDataSet, "Nazione")
Dim items As New List(Of String)
For i = 0 To myDataSet.Tables(0).Rows.Count - 1
For Each dtr In myDataSet.Tables(0).Rows
items.Add(dtr("Nazione").ToString & "-" & dtr("CodNazione").ToString)
i = i + 1
Next
Next
Return items
End Function


End Class

Premetto che ho fatto prove sia su pagine master/content che su pagine aspx 'normali', senza alcuna differenza....
Ambienti provati:
VS2008 prof. SP1 con S.O. XPSP3 - ajax control toolkit v. 3.0.20820.0 - linguaggio sia VB che C# - sia in localhost che in locale che in produzione - DB SQL Server 2000 SP4 - NET Framework sia 2.0 che 3.5
VS2010 ultimate con S.O. W7 - ajax control toolkit v. 3.5.40412.2 - linguaggio sia VB che C# - sia in localhost che in locale che in produzione - DB SQL Server 2005 SP3 - NET Framework 4.0
Grazie in anticipo per eventuali suggerimenti
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5