ASP.Net AutoCompleteExtender VB WebMethod 未触发 - 为什么?

发布于 2024-11-07 01:17:09 字数 1981 浏览 0 评论 0原文

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

现在我知道 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”标签等),并对类名进行了适当的更改,但这确实让我难住了。

我什至没有达到该方法,我错过了什么?

Definitely at my wits end here. This should be simple. In a page to create new user accounts, we have a database with a little of allowable users. To streamline getting the Email address of the new user correct, we want to use an AutoComplete extended textbox.

Now I know that WebMethods are working because I have a cascading-drop-down tied to web methods in another page.

As I'm just starting on this page, the code is simple.

The page itself:

<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>

The .asmx file is simple:

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

The 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

I'm not even getting to the LogDebug statement. I've used all the same boilerplate code (Inherits, the 'WebService' tags, etc) that worked in the other WebMethod with the appropriate changes to the Class name but this really has me stumped.

What am I missing that I'm not even making it to the method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

走野 2024-11-14 01:17:09

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

Did you ever resolve this issue? Have you tried removing Shared from your WebService declaration? This has worked for me before (and I don't know why!).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文