自动完成扩展器未调用webservice方法
确切的问题是。,我在示例项目中使用AutoComplex Extender,它工作正常。。但在我的实时项目中使用的相同代码(aspx代码和webservice代码(并没有调用web服务方法。。。
我的实时项目是dotnet 2.0版
我提到我的代码下面的步骤
-
aspx代码
-
asmx代码
<%@WebService语言="C#"CodeBehind="~/App_Code/WebDoctor.cs"Class="WebService"%>
-
asmx.cs
<%@WebService语言="C#"CodeBehind="~/App_Code/WebDoctor.cs"Class="WebService"%>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
/// <summary>
/// Summary description for WebServiceGetDoctor
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebServiceGetDoctor : System.Web.Services.WebService {
public WebServiceGetDoctor () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[System.Web.Services.WebMethod]
public string[] GetDoctorName(string prefixText, string contextKey)
{
string target = contextKey;
SqlConnection sqlconn = new SqlConnection(@"Data Source=ABMSPLWINSRV2ABMSPL;Initial Catalog=VivusHIS;Persist Security Info=True;User ID=sa; pwd=Bgs2000new");
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.CommandText = "SerchGetDoctorDetails";
SqlParameter p = new SqlParameter();
sqlcmd.Connection = sqlconn;
p = sqlcmd.Parameters.AddWithValue("@prefixText", prefixText);
p = sqlcmd.Parameters.AddWithValue("@target", target);
SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
DataTable dt = new DataTable();
da.Fill(dt);
string[] items = new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
items.SetValue(dr[target].ToString(), i);
if (i != 10)
{
i++;
}
}
return items;
}
}
是否尝试了Class="WebServiceGetDoctor"
而不是Class="WebService"
添加此行
[System.Web.Script.Services.ScriptService]
线后
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]