1

テキストボックスに自動提案を実装しようとしています.他の投稿を確認しましたが、何も機能していないようです.WebアプリケーションとWebサイトの両方で試しました.コードの間違いを見つけてください.テキストボックスに文字を入力すると何もありません.ブラウザで Web サービスの結果を確認できました。

削除.aspx

  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Delete.aspx.cs"
   Inherits="WebApplication2.Delete" %>
  <%@ Register TagPrefix="ajaxToolkit" Namespace="AjaxControlToolkit" 
  Assembly="AjaxControlToolkit"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org 
 TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    <title>Untitled Page</title>
    </head>

<body>  
  <form id="form1" runat="server">  
    <div> 
     <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" 
      EnablePartialRendering="true" 
      runat="server">
     </asp:ScriptManager>  
           <asp:TextBox ID="myTextBox" runat="server" Width="400px" ></asp:TextBox> 
           <ajaxToolkit:AutoCompleteExtender  runat="server"    ID="autoComplete1" 
             TargetControlID="myTextBox"
             ServiceMethod="Information"
             ServicePath="~/WebService1.asmx"
             OnClientItemOut="Information"
             MinimumPrefixLength="1" 
             CompletionInterval="1000"
             EnableCaching="true"
             CompletionSetCount="5"   
             ShowOnlyCurrentWordInCompletionListItem="true">
               </ajaxToolkit:AutoCompleteExtender> 
        </div>  
         </form>
         </body>

webservice1.asmx

   using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Web;
   using System.Web.Services;

   namespace WebApplication2
   {

   [WebService(Namespace = "http://tempuri.org/")]
   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
   [System.ComponentModel.ToolboxItem(false)]



public class WebService1 : System.Web.Services.WebService
{

    [System.Web.Services.WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

    [System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]
    public string[]Information(string prefixText)
    {


        RDFEntities db = new RDFEntities();
        var allrows = from s1 in db.RDFMatch_v where s1.RIC.StartsWith(prefixText) select s1.RIC;



        return allrows.ToArray();

    }
}

}

4

2 に答える 2

0

asp.net ScriptManager の代わりに、次のように ToolkitScriptManager を使用してみてください。

<ajaxToolkit:ToolkitScriptManager ID="sm1" runat="server" />
于 2012-11-12T13:40:23.757 に答える
0

OnClientItemOut="Information"ASPX から行を削除します。JavaScript で情報ハンドラーが定義されていません。

[ScriptService]次に、属性を Web サービスに追加します。

何が起こっているかを調べるための便利なツールはFiddlerです。サーバーに送られるリクエストとレスポンスが表示されます。

于 2012-11-12T13:46:10.170 に答える