2014-02-27 3 views
0

저는 VB.net을 처음 사용합니다. 자동 완성 기능을 사용하여 내 DB에서 이름 목록을 가져오고 싶습니다. 나는 다음을 따르려고 노력하고있다 example.vbCode가 자동 완성되지 않습니다.

하지만 내 문제는 작동하지 않으며 오류가 발생하지 않았기 때문에 내가 잘못하고있는 부분을 말해 줄 수 있습니다.

내 home.aspx

<%@ Page Title="Home Page" Language="VB" CodeFile="~/home.aspx.vb" AutoEventWireup="true" Inherits="_home"%> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 

</head> 
<body> 
<form id="form1" runat="server"> 
<asp:ToolkitScriptManager ID="ScripManager1" runat="server"/> 

<asp:UpdatePanel ID="autoupdate" runat="server"> 
<ContentTemplate> 


    <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> 

          <asp:AutoCompleteExtender ID="AutoCompleteExtender2" runat="server" 
        TargetControlID="txtSearch" ServiceMethod="GetList" MinimumPrefixLength="3" 
        UseContextKey="True" > 
      </asp:AutoCompleteExtender> 
</ContentTemplate> 
</asp:UpdatePanel> 



</form> 
</body> 
</html> 

이 내 home.aspx.vb입니다

Imports System.Configuration 
Imports System.Data 
Imports System.Data.SqlClient 
Imports System.Threading 
Imports System.Web.Services 

Partial Class _Default 
    Inherits System.Web.UI.Page 

    <WebMethod()> _ 
    Public Shared Function GetCompletionList(ByVal prefixText As String, ByVal count As Integer, ByVal contextKey As String) As String() 
     Try 

      Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("Test").ConnectionString) 
      con.Open() 
      Dim cmd As New SqlCommand("select LoginName from users where LoginName like '@Name' +'%' ", con) 
      cmd.Parameters.AddWithValue("@Name", prefixText) 
      'Dim da As New SqlDataAdapter(cmd) 
      'Dim dt As New DataTable() 
      'da.Fill(dt) 
      'Dim InviteSearchListresult As New List(Of String)() 
      'For i As Integer = 1 To dt.Rows.Count 
      ' InviteSearchListresult.Add(dt.Rows(i)(1).ToString()) 
      ' Next 
      Dim result As New List(Of String)() 
      Dim dr As SqlDataReader = cmd.ExecuteReader() 
      While dr.Read() 
       result.Add(dr("LoginName").ToString()) 
      End While 

      Return (
     From m In result 
     Where m.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) 
     Select m).Take(count).ToArray() 
     Catch ex As Exception 


     End Try 
End Function 
End Class 

이 issuse를 해결하는 방법을 도와주세요.

+0

포켓몬 패턴에 비어있는 try-catch가 있습니다. 디버그 중에 문제가 있는지, 아니면 코드에 남기고 싶은 것이 있는지 확인하기 위해 중단 점을 두는 중입니까? '티)? –

답변

0

귀하의 서비스 방법이 GetList이지만 실제 메소드 이름은 GetCompletionList입니다.

일치하는 메소드 이름을 가져 와서 문제인지 확인하십시오. 존재하지 않는 메소드를 호출하려고합니다.

+0

안녕하세요. 실제로 코드를 변경하고 업데이트했습니다. – user2787300

+0

작동 했습니까? 웹 메서드에서 중단 점을 설정하고 실제로 중단 점을 맞출 수 있습니까? 그렇지 않은 경우에도 메소드가 여전히 호출되지 않습니다. – Tim

+0

아니요 작동하지 않고 실제로 메서드를 호출하고 있습니다. – user2787300

관련 문제