2010-07-06 82 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