2010-07-06 84 views
0

我正在使用自动完成扩展,我写了一个web服务web服务工作正常,当我运行webservice。但是,当我运行我的aspx页面时,它不显示任何东西,自动完成不显示只有文本框在那里。这是我的代码......自动完成扩展器问题?

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
public class WebService : System.Web.Services.WebService 
{ 

    SqlConnection con;SqlDataAdapter da; 
    public WebService() { 

    //Uncomment the following line if using designed components 
    //InitializeComponent(); 
} 

[WebMethod] 
public string[] GetTitleInfo(string prefixText) 
{ 
    int count = 10; 
    string sqry = "select * from news_upload where newstitle like @prefixText"; 
    da = new SqlDataAdapter(sqry, "server=localhost;database=tfcnew;user id=sa;password=sql123"); 
    da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 100).Value = prefixText + "%"; 
    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["newstitle"].ToString(), i); 
     i++; 
    } 
    return items; 
} 

这是(上述)服务。

<asp:TextBox ID="txtcomplete" runat ="Server" ></asp:TextBox> 
     <asp:AutoCompleteExtender ID="AutoCompleteExtender2" runat="server" MinimumPrefixLength ="1" ServiceMethod ="GetSuggestions" ServicePath="~/WebService2.asmx" TargetControlID ="txtcomplete" > 
     </asp:AutoCompleteExtender> 

这是ASPX代码..

u能帮助我。谢谢。

回答

0

添加“[System.Web.Script.Services.ScriptMethod]”之类的声明

[System.Web.WebService(Namespace = "http://tempuri.org/")] 
[System.Web.WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.Web.Script.Services.ScriptMethod] 
public class WebService : System.Web.Services.WebService { 
... 
... 
... 

,如果它已经在你的代码之前,你可以检查服务路径。使用Fiddler或Firebug查看是否有实际的服务呼叫。如果没有,那么工作从你的aspx页面的paga_Load事件设置servicepath

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not Page.IsPostBack() Then 
     AutoCompleteExtender2.ServicePath = ResolveUrl("~/mywebservice.asmx")      
    End If 
End Sub 
+0

没有它不工作@ miti737 – 2010-07-06 06:00:09

+0

它似乎确定,因为它是独立工作。我已经为你编辑了答案。你可以使用提琴手,并可以检查你的请求的结果 – miti737 2010-07-06 06:52:52