I posted this earlier but never got a response, I have a WebService
that pulls info from a DB. I then have an ajax autocomplete textbox
that grabs this info from the WebService. In firebug, i get 500 error
reading this
{"Message":"Invalid web service call, missing value for parameter:
\u0027query\u0027.","StackTrace":"
at System.Web.Script.Services.WebServiceMethodData.CallMethod
(Object target, IDictionary`2 parameters
)\r\n at
System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams
(Object target, IDictionary
`2 parameters)\r\n at
System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext
context, WebServiceMethodData
methodData, IDictionary`2 rawParams)\r\n at
System.Web.Script.Services.RestHandler.ExecuteWebServiceCall
(HttpContext context, WebServiceMethodData
methodData)","ExceptionType":"System.InvalidOperationException"
}
the webservice works fine when ran by itself, so i figure its a small
mistake i am having, below is the aspx and the asmx page
ASMX
<%@ WebService Language="C#" Class="WebService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Collections.Generic;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{
[WebMethod(Description = "Input a string and this will return all
the players with that string in their names")]
public string[] GetPlayer(string query) {
string strSQL = "Select nameFirst, nameLast from FullMaster
where (nameFirst LIKE '" + query + "%') or (nameLast like '" + query +
"%')";
DataAccess objDataAccess = new DataAccess("BaseballDatabase");
DataTable dt = new DataTable();
dt = objDataAccess.FillDataTable(strSQL);
//Note: web services can return DataSets but not DataTables.
List<string> items = new List<string>(dt.Rows.Count);
foreach (DataRow dr in dt.Rows)
{
string c1 = Convert.ToString(dr["nameFirst"]) + " " +
Convert.ToString(dr["nameLast"]);
items.Add(c1);
}
return items.ToArray();
}
}
ASPX page
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master"
%>
<%@ Register Assembly="AjaxControlToolkit"
Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<script runat="server">
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="MainForm"
Runat="Server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="Player.asmx" />
</Services>
</asp:ScriptManager>
<asp:TextBox ID="TextBox1" runat="server" Height="45px"
Width="312px"></asp:TextBox>
<cc1:AutoCompleteExtender ID="TextBox1_AutoCompleteExtender"
runat="server"
TargetControlID="TextBox1" ServicePath="Player.asmx"
ServiceMethod="GetPlayer" MinimumPrefixLength="3" >
</cc1:AutoCompleteExtender>
<br /><br /><br />
</asp:Content>
I would greatly appreciate some help, thanks for all that you guys do