none
autocompletar en asp.net RRS feed

  • Pregunta

  • He seguido el ejemplo para realizar autocompletar con un Textobox en Asp.net pero una vez que coloco el nombre a buscar por ejemplo Maria, me despliega:

    <

    !

    re

    O

    C

    T

    ...

    Aparentemente no llama al metodo que asi lo detalle:

    <ScriptMethod>
        <WebMethod>
        Public Shared Function BusClientes(ByVal pre As String, ByVal count As Int32) As List(Of String)
            Return Clientes(pre)
        End Function
        Private Shared Function Clientes(ByVal pre As String) As List(Of String)
            Dim mLis As New List(Of String)
            Using db As New DataClassesDataContext()
                mLis = (From u In db.TblClientes Where u.CliNom.StartsWith(pre) AndAlso u.CliIna = False AndAlso u.CliBor = False AndAlso u.CliSuc = 0 Select u.CliNom).ToList()
            End Using
            Return mLis
        End Function

    y lo llamo desde este codigo:

    <div class="col-md-10">
                                <asp:TextBox runat="server" ID="txtNombre" CssClass="form-control" />
                                <cc1:AutoCompleteExtender ServiceMethod="BusClientes" MinimumPrefixLength="2"
                                    CompletionInterval="100" EnableCaching="false" CompletionSetCount="10"
                                    TargetControlID="txtNombre" ID="AutoCompleteExtender1" runat="server" FirstRowSelected="false">
                                </cc1:AutoCompleteExtender >
                            </div>

    Por mas que reviso no encuentro porque. No da error pero despliega mal.

    Es con VB2017 y asp.net WebForms

    lunes, 29 de junio de 2020 13:16

Respuestas

  • hola

    Si pones un breakpoint en el WebMethod puedes evaluar que el linq retorna la lista con los datos correctos?

    descarta que la consulta en el codigo backend este resolviendo correctamente

    >>me despliega:

    eso parece ser un error lo cual retorna un html, creo que estas teniendo un Exception que no capturas en el codigo del WebMethod

    Intenta definir un Try .. Catch para ver si puede ver que lo causa

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    • Editado Leandro TuttiniMVP lunes, 29 de junio de 2020 14:02
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:02
  • Ya lo hice colocando un breakpoint y no llega siquiera a entrar en el WebMethod. Por eso me llama la atencion.

    Tambien intente con codigo de jquery, no daba ningun error pero no desplegaba nada.

    Intentare nuevamente con ese nuevo codigo de jquery que econtre.

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:11
  • intenta definiendo

    Public Shared Function BusClientes(ByVal prefixText As String, ByVal count As Int32) As List(Of String)

    habria que ver el html que error esta devolviendo, quizas sea porque no puede resolver la firma del webmethod

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:29
  • Despliega mal tal cual la primera vez. Ahora no da error, solo despliega mal y no me doy cuenta porque.

    Por otro lado probe con estre otro codigo:

    <asp:Content runat="server" ID="FeatureContent" ContentPlaceHolderID="FeatureContent">
        <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script> 
        <script type="text/javascript">
        $(function() {
            $(".txtNombre").autocomplete({
                source: function(request, response) {
                    $.ajax({
                        url: "Login.aspx/BusClientes",
                        data: "{ 'prefixText': '" + request.term + "' }",
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        dataFilter: function(data) { return data; },
                        success: function(data) {
                            response($.map(data.d, function(item) {
                                return {
                                    value: item.Email
                                }
                            }))
                        },
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                            alert(textStatus);
                        }
                    });
                },
                minLength: 2
            });
        });
        </script>
    </asp:Content>
       

    y no da error pero no despliega nada. ni siquiera una lista erronea como el anterior con AjaxToolkik

    La unica diferencia en este ultimo codigo, que utiliza una pagina con extension 

    url: "EmployeeList.asmx / FetchEmailList" ,

    y yo:

    url: "Login.aspx / BusClientes" ,

    pero no despliega nada

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:40
  • En un momento, dentro de tanta busqueda, me parece que alguien comento que le estaba desplegando lo cargado en el browser, pero no tengo claro si es esto.
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:43
  • >>no da error pero no despliega nada.

    Pero si pones un breakpoint en el webmethod ingresa? si lo hace puede ver que datos retorna?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:47
  • si coloco el beakpoint pero nunca llega alli, pienso que no esta resolviendo el WebMethod pero no se porque.

    Y al no llegar, tampoco hay devolucion de datos

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:50
  • Ahora, pensando, si con el otro codigo de jquery, no da error y pero tampoco despliega. Tambien utiliza el WebMethod, sera que este es el que esta fallando? Pero como saber?
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:59
  • hola

    >>Y al no llegar, tampoco hay devolucion de datos

    validaste en la solapa Console o Network de la Developer Tools del browser, accedes con F12

    para ver si hay algun error de javascript o en la url que se quiere invocar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 15:17
  • Muestra esto pero no se que signific


    • Editado eduepa lunes, 29 de junio de 2020 15:33
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 15:29
  • Hola eduepa

    No cargaste ninguna imagen en tu respuesta

    Saludos

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 16:47
    Moderador
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:02
  • Por mas que la achico no pasa la imagen
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:05
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:12
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:14
  • esa es la parte inferior
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:29
  • En la imagen no veo nada raro

    solo resaltas el link a una imagen png, pero no la llamada al webmethod

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 20:15
  • si, con el breakpoint no llega al procedimiento para cargar la lista.
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 21:16
  • Probe con el otro codigo y tampoco llega a leer el procedimiento. O sea que seria el WebMethod que no responde?

    Y como podria solucionar eso?

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 21:35
  • >>con el breakpoint no llega al procedimiento para cargar la lista.

    no llega al procedimiento o no ejecuta el linq ?

    >>que seria el WebMethod que no responde?

    no se, quizas ni siquiera lo esta invocando como no tenemos un trace del problema puede que ni se este dando ninguna accion, o si pero la url que resuelve sea incorrecta o haya un error de javascript

    por eso es importante entender la consola o el network de la developer tools

    debes encontrar un item en la solapa network que tenga el nombre del webmethod, para saber que se esta llamando y como es el resultado de ese request

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 21:57
  • Asi llamo al metodo

    <System.Web.Services.WebMethod>
        <System.Web.Script.Services.ScriptMethod(ResponseFormat:=System.Web.Script.Services.ResponseFormat.Json)>
        Public Shared Function BusClientes(ByVal prefixText As String, ByVal count As Int32) As List(Of String)
            Return Clientes(prefixText)
        End Function
        Private Shared Function Clientes(ByVal prefixText As String) As List(Of String)
            Dim mLis As New List(Of String)
            Using db As New DataClassesDataContext()
                mLis = (From u In db.TblClientes Where u.CliNom.StartsWith(prefixText) AndAlso u.CliIna = False AndAlso u.CliBor = False AndAlso u.CliSuc = 0 Select u.CliNom).ToList()
            End Using
            Return mLis
        End Function

    voy a revisar lo de la pestaña a ver si puedo ubicarlo

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 22:02
  • No en la pestaña Network no aparece el procedimiento, porque no tengi idea

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 22:08
  • Una consulta:

    Si en el Browser coloco lo siguiente: http://localhost:61270/Account/WebForm1/BusClientes(ma)

    O sea estoy llamando al procedimiento directamente desde el browser, tendria que desplegar la lista?

    pues no despliega nada. Esto probando el funcionamiento del WebMethod

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    martes, 30 de junio de 2020 21:15
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:16
  • Eso sigue desplegando y no entiendo porque.

    Cree un ServicioWeb donde inclui el codigo que tenia en la pagina, pero no logro obtener el resultado correcto.

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:17
  • haciendo cambios en ServiceMethod

    ServiceMethod="LisClientes/BCli" o

    ServiceMethod="~/Account/LisClientes/BCli" o

    ServiceMethod="Account/LisClientes/BCli" despliega el mismo resultado.

    si a LisClientes le agrego: .asmx no despliega nada pero tampoco da error

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:27
  • Cuando se crea el servicio inicializa esto:

    <WebService(Namespace:="http://tempuri.org/")>

    ello deberia quedar asi o llevaria mi Namespace?

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:59

Todas las respuestas

  • hola

    Si pones un breakpoint en el WebMethod puedes evaluar que el linq retorna la lista con los datos correctos?

    descarta que la consulta en el codigo backend este resolviendo correctamente

    >>me despliega:

    eso parece ser un error lo cual retorna un html, creo que estas teniendo un Exception que no capturas en el codigo del WebMethod

    Intenta definir un Try .. Catch para ver si puede ver que lo causa

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    • Editado Leandro TuttiniMVP lunes, 29 de junio de 2020 14:02
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:02
  • Ya lo hice colocando un breakpoint y no llega siquiera a entrar en el WebMethod. Por eso me llama la atencion.

    Tambien intente con codigo de jquery, no daba ningun error pero no desplegaba nada.

    Intentare nuevamente con ese nuevo codigo de jquery que econtre.

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:11
  • intenta definiendo

    Public Shared Function BusClientes(ByVal prefixText As String, ByVal count As Int32) As List(Of String)

    habria que ver el html que error esta devolviendo, quizas sea porque no puede resolver la firma del webmethod

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:29
  • Despliega mal tal cual la primera vez. Ahora no da error, solo despliega mal y no me doy cuenta porque.

    Por otro lado probe con estre otro codigo:

    <asp:Content runat="server" ID="FeatureContent" ContentPlaceHolderID="FeatureContent">
        <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script> 
        <script type="text/javascript">
        $(function() {
            $(".txtNombre").autocomplete({
                source: function(request, response) {
                    $.ajax({
                        url: "Login.aspx/BusClientes",
                        data: "{ 'prefixText': '" + request.term + "' }",
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        dataFilter: function(data) { return data; },
                        success: function(data) {
                            response($.map(data.d, function(item) {
                                return {
                                    value: item.Email
                                }
                            }))
                        },
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                            alert(textStatus);
                        }
                    });
                },
                minLength: 2
            });
        });
        </script>
    </asp:Content>
       

    y no da error pero no despliega nada. ni siquiera una lista erronea como el anterior con AjaxToolkik

    La unica diferencia en este ultimo codigo, que utiliza una pagina con extension 

    url: "EmployeeList.asmx / FetchEmailList" ,

    y yo:

    url: "Login.aspx / BusClientes" ,

    pero no despliega nada

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 10:59
    lunes, 29 de junio de 2020 14:40
  • En un momento, dentro de tanta busqueda, me parece que alguien comento que le estaba desplegando lo cargado en el browser, pero no tengo claro si es esto.
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:43
  • >>no da error pero no despliega nada.

    Pero si pones un breakpoint en el webmethod ingresa? si lo hace puede ver que datos retorna?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:47
  • si coloco el beakpoint pero nunca llega alli, pienso que no esta resolviendo el WebMethod pero no se porque.

    Y al no llegar, tampoco hay devolucion de datos

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:50
  • Ahora, pensando, si con el otro codigo de jquery, no da error y pero tampoco despliega. Tambien utiliza el WebMethod, sera que este es el que esta fallando? Pero como saber?
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 14:59
  • hola

    >>Y al no llegar, tampoco hay devolucion de datos

    validaste en la solapa Console o Network de la Developer Tools del browser, accedes con F12

    para ver si hay algun error de javascript o en la url que se quiere invocar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 15:17
  • Muestra esto pero no se que signific


    • Editado eduepa lunes, 29 de junio de 2020 15:33
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 15:29
  • Hola eduepa

    No cargaste ninguna imagen en tu respuesta

    Saludos

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 16:47
    Moderador
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:02
  • Por mas que la achico no pasa la imagen
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:05
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:12
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:14
  • No se si sera esa la imagen
    lunes, 29 de junio de 2020 18:20
  • esa es la parte inferior
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 18:29
  • En la imagen no veo nada raro

    solo resaltas el link a una imagen png, pero no la llamada al webmethod

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 20:15
  • si, con el breakpoint no llega al procedimiento para cargar la lista.
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 21:16
  • Probe con el otro codigo y tampoco llega a leer el procedimiento. O sea que seria el WebMethod que no responde?

    Y como podria solucionar eso?

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 21:35
  • >>con el breakpoint no llega al procedimiento para cargar la lista.

    no llega al procedimiento o no ejecuta el linq ?

    >>que seria el WebMethod que no responde?

    no se, quizas ni siquiera lo esta invocando como no tenemos un trace del problema puede que ni se este dando ninguna accion, o si pero la url que resuelve sea incorrecta o haya un error de javascript

    por eso es importante entender la consola o el network de la developer tools

    debes encontrar un item en la solapa network que tenga el nombre del webmethod, para saber que se esta llamando y como es el resultado de ese request

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 21:57
  • Asi llamo al metodo

    <System.Web.Services.WebMethod>
        <System.Web.Script.Services.ScriptMethod(ResponseFormat:=System.Web.Script.Services.ResponseFormat.Json)>
        Public Shared Function BusClientes(ByVal prefixText As String, ByVal count As Int32) As List(Of String)
            Return Clientes(prefixText)
        End Function
        Private Shared Function Clientes(ByVal prefixText As String) As List(Of String)
            Dim mLis As New List(Of String)
            Using db As New DataClassesDataContext()
                mLis = (From u In db.TblClientes Where u.CliNom.StartsWith(prefixText) AndAlso u.CliIna = False AndAlso u.CliBor = False AndAlso u.CliSuc = 0 Select u.CliNom).ToList()
            End Using
            Return mLis
        End Function

    voy a revisar lo de la pestaña a ver si puedo ubicarlo

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 22:02
  • No en la pestaña Network no aparece el procedimiento, porque no tengi idea

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    lunes, 29 de junio de 2020 22:08
  • Una consulta:

    Si en el Browser coloco lo siguiente: http://localhost:61270/Account/WebForm1/BusClientes(ma)

    O sea estoy llamando al procedimiento directamente desde el browser, tendria que desplegar la lista?

    pues no despliega nada. Esto probando el funcionamiento del WebMethod

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:00
    martes, 30 de junio de 2020 21:15
    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:16
  • Eso sigue desplegando y no entiendo porque.

    Cree un ServicioWeb donde inclui el codigo que tenia en la pagina, pero no logro obtener el resultado correcto.

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:17
  • haciendo cambios en ServiceMethod

    ServiceMethod="LisClientes/BCli" o

    ServiceMethod="~/Account/LisClientes/BCli" o

    ServiceMethod="Account/LisClientes/BCli" despliega el mismo resultado.

    si a LisClientes le agrego: .asmx no despliega nada pero tampoco da error

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:27
  • Cuando se crea el servicio inicializa esto:

    <WebService(Namespace:="http://tempuri.org/")>

    ello deberia quedar asi o llevaria mi Namespace?

    • Marcado como respuesta eduepa jueves, 2 de julio de 2020 11:01
    martes, 30 de junio de 2020 23:59
  • Al fin lo pude solucionar de la siguiente manera:

       

    <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js"></script>  
        <script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.22/jquery-ui.js"></script>  
        <link rel="Stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/themes/redmond/jquery-ui.css" />   

        <script type="text/javascript">  
            $(function () {  
                $("#Name").autocomplete({  
                    source: function (request, response) {  
                        var param = { nom: $('#Name').val() };  
                        $.ajax({  
                            url: "ClaClientes/BusClientes",  
                            data: JSON.stringify(param),  
                            dataType: "json",  
                            type: "POST",  
                            contentType: "application/json; charset=utf-8",  
                            dataFilter: function (data) { return data; },  
                            success: function (data) {  
                                response($.map(data.d, function (item) {  
                                    return {  
                                        value: item  
                                    }  
                                }))  
                            },  
                            error: function (XMLHttpRequest, textStatus, errorThrown) {  
                                var err = eval("(" + XMLHttpRequest.responseText + ")");  
                                alert(err.Message)  
                               // console.log("Ajax Error!");  
                            }  
                        });  
                    },  
                    minLength: 2 //This is the Char length of inputTextBox  
                });  
            });  
        </script>  

    Y la funcion que se encuentra en la ClaClientes es asi:

    Public Shared Function BusClientes(ByVal nom As String) As List(Of String)
            Dim mLis As New List(Of String)
            Using db As New DataClassesDataContext()
                mLis = (From u In db.TblClientes Where u.CliNom.Contains(nom) AndAlso u.CliIna = False AndAlso u.CliBor = False AndAlso u.CliSuc = 0 Select u.CliNom).ToList()
            End Using
            Return mLis
        End Function

    Ahora, si despliega pero solo 2 items de los clientes que comienzan con la letra "m" no el resto.

    Me faltaria limpiar algo que quede cargao en la variable, pues no me doy cuenta porque solo despliega en forma parcial.

    He probado colocar la funcion en un .ashx o cambiar la funcion por una consulta SQL y el resultado es el mismo, despliega en forma parcial.

    Alguna sugerencia para que funcione bien ?

    Gracias y saludos

    jueves, 2 de julio de 2020 12:59
  • Que cosa mas rara. Si cambio el nombre del TextBox, no despliega nada y con el nombre que tiene "Name" como que despliega datos de otra aplicacion.

    Esto es muy raro, no entiendo como.

    jueves, 2 de julio de 2020 13:41
  • Sencillamente con VB2017 elAutoCompleteExtender no funciona. Si pongo la funcion en la pagina, no la llama. Si utilizas un Servicio, no lo llama, No se puede agregar el ToolKitScriptManager. Si lo agregas te da error, Todas las soluciones que ofrecen en Internet, no funcionan, que agregar lineas a webConfig, que cambiar la version del frameworw y volverla a cambiar... Nada funciona lamentablemente.
    jueves, 2 de julio de 2020 23:41
  • Sigo sin solucionar el problema.

    He creado una nueva solucion y con el TextBox en la pagina por defecto pero no hay forma que funcione.

    Coloque tambien la funcion que carga la lista en el mismo form x Default para que no tenga que ir a ningun lado y nunca entra a consultarla.

    Ahora bien al llamar al metodo segun los ejemplos es asi:

    <System.Web.Script.Services.ScriptMethod (), _

    System.Web.Services.WebMethod ()> _

    pero las rayitas que muestran al final, al crear el metodo con la funcion, en mi caso, desaparecen.

    Sera que hay que cambiar algo en el WebConfig?

    Y lo que despliega es lo siguiente:

    Y si este texto lo colocaramos horizontal dice: <!DOCTYPE html ...

    Hay alguien que pueda sugerirme algo para solucionar este problema?

    Gracias y saludos

    sábado, 4 de julio de 2020 23:45
  • El ScriptManager esta por defecto en la MasterPage y no me permite agregar otro.

    A Este le agruege: EnablePageMethods="true"

    Al agregar el control Ajax en la pagina quedo registrado de la siguiente manera:

    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>

    El codigo en la pgina es el siguiente:

    <div class="form-group">
                            <asp:Label runat="server" AssociatedControlID="Name" CssClass="col-md-2 control-label">Nombre del Cliente</asp:Label>
                            <div class="col-md-10">
                                <asp:TextBox runat="server" ID="Name" CssClass="form-control" />
                                <cc1:AutoCompleteExtender ID="Name_AutoCompleteExtender" runat="server" CompletionInterval="100" 
                                    DelimiterCharacters="" Enabled="True" MinimumPrefixLength="2" TargetControlID="Name"
                                    ServiceMethod="BusNombres">
                                </cc1:AutoCompleteExtender>
                            </div>
                        </div>

    y el Metodo en la pagina de vb:

     <ScriptMethod(),
        WebMethod()>
        Private Shared Function BusNombres(ByVal prefixText As String, ByVal count As Int32) As List(Of String)
            Dim mLis As New List(Of String)
            Using db As New DataClassesDataContext
                Dim q = From u In db.TblClientes Where u.CliNom.StartsWith(prefixText) AndAlso u.CliIna = False AndAlso u.CliBor = False Select u
                For Each item In q
                    mLis.Add(item.CliNom)
                Next
            End Using
            Return mLis
        End Function

    Pero como dije anteriormente: NUNCA llega a realizar esta consulta.

    Ya no se que mas hacer

    sábado, 4 de julio de 2020 23:51