0

間違いなく私の知恵はここで終わります。これは単純なはずです。新しいユーザーアカウントを作成するページには、許可されるユーザーが少しいるデータベースがあります。新しいユーザーの電子メールアドレスを正しく取得するために、オートコンプリート拡張テキストボックスを使用します。

これで、別のページのWebメソッドにカスケードドロップダウンが関連付けられているため、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ステートメントに到達していません。他のWebMethodで機能したものと同じボイラープレートコード(Inherits、'WebService'タグなど)をすべて使用し、クラス名を適切に変更しましたが、これは本当に困惑しています。

メソッドに到達していないことで何が欠けていますか?

4

1 に答える 1