2012-03-23 6 views
1

Я пытаюсь использовать автоматическое заполнение, и она отлично работает, если вызвать функцию без параметров в веб-службы:ASP.NET AJAX Auto-Complete с использованием WebMethod?

<WebMethod()> _ 
<Script.Services.ScriptMethod()> _ 
Public Function GetCompanyNames2() As String() 

    Dim db As New DataClassesDataContext 

    Dim company = From c In db.CT_Companies 
         Where c.CompanyName.Contains("Airport") 
         Select c.CompanyName 

    Return company.ToArray 

End Function 

Если я пытаюсь вызвать функцию, которая принимает параметр, который Мне нужно сделать это, я могу получить текст, введенный пользователем в текстовое поле, он вообще не ударит по функции, я нахожу точку останова на нем, и он никогда не попадает в точку останова:

<WebMethod()> _ 
<Script.Services.ScriptMethod()> _ 
Public Function GetCompanyNames(ByVal prefixTest As String) As String() 

    Dim db As New DataClassesDataContext 

    Dim company = From c In db.CT_Companies 
         Where c.CompanyName.Contains(prefixTest) 
         Select c.CompanyName 

    Return company.ToArray 

End Function 

Кто-нибудь знает, что происходит?

Вот содержание из default.aspx:

 <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    <Services> 
     <asp:ServiceReference Path="~/AutoComplete.asmx" /> 
    </Services> 
</asp:ScriptManager> 
<div> 
    <asp:TextBox ID="txtCompanyName" runat="server"></asp:TextBox> 
    <ajaxToolkit:AutoCompleteExtender runat="server" ID="autoComplete1" TargetControlID="txtCompanyName" 
     ServicePath="~/AutoComplete.asmx" ServiceMethod="GetCompanyNames" MinimumPrefixLength="1" 
     EnableCaching="true" /> 
</div> 
+0

Как вы называете эти функции? – Shrieks

+0

<жерех: ScriptManager ID = Runat = "сервер" "ScriptManager1"> <жерех: ServiceReference Path = "~/AutoComplete.asmx" />

user1202606

ответ

0

Вы пытались восстановить свой проект WebService и обновить веб-ссылку (веб-службы прокси) в вашем веб-проекта?

+0

я есть ASMX файл в проекте, я могу вызвать функции в веб-службе, если у них нет параметров. Я даже попытался создать проект с нуля со страницей по умолчанию и веб-службой, то же самое, но затем я попытался использовать C#, и он работает. Так что, только когда я использую vb, это дает мне проблему, но в моем проекте в папке app_code слишком много кода, чтобы переключить все на C#, и это не позволит мне иметь смешанные файлы в них, так как они скомпилируются вместе. – user1202606

0

Это, вероятно, слишком долго после того, как тот факт, чтобы быть полезным, но параметр должен быть назван prefixText и не prefixTest, как вы здесь.