ASP.Net AutoCompleteExtender VB WebMethod не стреляет - почему? - PullRequest
0 голосов
/ 12 мая 2011

Определенно в моем конце здесь.Это должно быть просто.На странице для создания новых учетных записей пользователей у нас есть база данных с небольшим количеством допустимых пользователей.Чтобы упростить получение правильного адреса электронной почты нового пользователя, мы хотим использовать расширенное текстовое поле автозаполнения.

Теперь я знаю, что WebMethods работают, потому что у меня есть каскадный выпадающий список, привязанный к веб-методам на другой странице..

Поскольку я только начинаю на этой странице, код прост.

Сама страница:

<cc1:ToolkitScriptManager ID="ScriptManager2" runat="server"/>
<p></p> Please enter new user's Email: 
<asp:TextBox ID="txtUser" runat="server" />
<cc1:AutoCompleteExtender runat="server" ID="autUser" TargetControlID="txtUser" 
        ServiceMethod="ScanGALUsers" ServicePath="~/AutoScan.asmx"
        MinimumPrefixLength="3" CompletionSetCount="150" /> <p></p>

Файл .asmx прост:

<%@ WebService Language="VB" CodeBehind="~/App_Code/VB_Code/AutoScan.vb" Class="AutoScan" %>

WebMethod:

<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class AutoScan
    Inherits System.Web.Services.WebService

   <WebMethod()> _
    Public Shared Function ScanGALUsers(ByVal strPrefix As String, ByVal intMaxCount As Integer) As String()
        Dim arlResults As New ArrayList
        Dim intCount As Integer
        Dim dt As DataTable
        Dim colParameters As New SortedList
        SysDA.LogDebug("ScanGALUsers called with parameters: " & strPrefix & " and count of " & intMaxCount.ToString)
        ... Deleted for brevity ...
        If intCount > 0 Then
            Dim arrResults(intCount - 1) As String
            arrResults = arlResults.ToArray(GetType(System.String))
            Return arrResults
        Else
            Return Nothing
        End If
    End Function

End Class

Я даже не дохожу до оператора LogDebug.Я использовал все тот же стандартный код (наследование, теги «WebService» и т. Д.), Который работал в другом WebMethod с соответствующими изменениями имени класса, но это действительно меня озадачило.

Что яне хватает того, что я даже не доходит до метода?

1 Ответ

0 голосов
/ 25 октября 2011

Вы когда-нибудь решали эту проблему? Вы пытались удалить Shared из декларации WebService? Это работало для меня раньше (и я не знаю почему!).

...