ASP.Net AutoCompleteExtender VB WebMethod没有解雇 - 为什么?

时间:2011-05-12 18:24:45

标签: asp.net ajax vb.net autocompleteextender webmethod

绝对是我的智慧在这里结束。这应该很简单。在创建新用户帐户的页面中,我们有一个包含少量允许用户的数据库。为了简化新用户的电子邮件地址的正确性,我们希望使用自动完成扩展文本框。

现在我知道WebMethods正在运行,因为我在另一个页面中有一个与web方法相关联的级联下拉列表。

由于我刚开始在这个页面上,代码很简单。

页面本身:

<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声明。我已经使用了在其他WebMethod中工作的所有相同的样板代码(继承,'WebService'标签等),并对类名进行了适当的更改,但这确实让我感到难过。

我错过了什么,我甚至没有使用该方法?

1 个答案:

答案 0 :(得分:0)

你有没有解决这个问题?您是否尝试从WebService声明中删除Shared?这之前对我有用(我不知道为什么!)。