2013-01-08 1 views
0

그래서 저는 4 일 동안 StackOverflow 및 다른 사이트에서 찾을 수있는 모든 것을 조사하고 시도했습니다. 그리고 저는 Ajax AutoCompleteExtender를 작동시킬 수 없습니다. 내가 VS 2012 여기에 .NET 4.5 에 대한 ASP.NET과 C#의 건물을 사용하고 것이 내 코드입니다 :AjaxToolKit 자동 완성 Extender가 작동하지 않습니다.

~/대시 보드/Default.aspx를

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 

    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %> 

    <ajaxToolKit:ToolkitScriptManager ID="ScriptManager1" runat="server"> 
     <Services> 
      <asp:ServiceReference Path="~/Dashboard/AutoComplete2.asmx" /> 
     </Services> 
    </ajaxToolKit:ToolkitScriptManager> 


    <asp:TextBox ID="CarMake_TextBox" runat="server"></asp:TextBox> 

    <ajaxToolKit:AutoCompleteExtender 
     ID="CarMake_AutoCompleteExtender" runat="server" 
     Enabled="true" 
     ServicePath="AutoComplete2.asmx" 
     ServiceMethod="GetCarMakeList" 
     TargetControlID="CarMake_TextBox" 
     MinimumPrefixLength="1" FirstRowSelected="True" 
     > 
    </ajaxToolKit:AutoCompleteExtender> 

</asp:Content> 

~/대시 보드/AutoComplete2.asmx.cs (C#)

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

namespace CDC.Dashboard 
{ 
    /// <summary> 
    /// Summary description for AutoComplete2 
    /// </summary> 
    [WebService(Namespace = "http://websiteleaders.com/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService] 
    public class AutoComplete2 : System.Web.Services.WebService 
    { 
     [System.Web.Services.WebMethod] 
     [System.Web.Script.Services.ScriptMethod] 
     public string[] GetCarMakeList(string prefixText, int count) 
     { 
      string sql = "Select DISTINCT Make from Car_Makes_Models Where Make LIKE @prefixText"; 
      SqlDataAdapter da = new SqlDataAdapter(sql, "Data Source=localhost\\SQLEXPRESS;Initial Catalog=CDC;Integrated Security=True"); 
      da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).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["Make"].ToString(), i); 
       i++; 
      } 
      return items; 
     } 
    } 
} 

나는 그 일을 제대로 할 수 없다. 웹 브라우저를 통해 웹 서비스를 실행하고 값을 입력하면 필요한 정보를 바로 검색하여 문자열 배열로 반환합니다. 그러나 AutoCompleteExtender가 실행되지 않는 것처럼 보입니다.

내가 처음 시도했을 때 주목할 가치가있다. 이후의 시도 후에는 그렇지 않습니다. 나는 어리 석다. IE와 함께 실행하면 AJAX ScriptManager (이미 사용하고있는 스크립트)와 4.0 스크립트를 사용하는 데 대한 알려진 오류 메시지가 나타납니다. AJAX 툴킷이 제대로 설치 및 참조되어 있고 예, .NET Framework v4.5가 제 목표 프레임 워크입니다.

+0

당신이 불을 지르고의 네트워크 콘솔에서 아약스 로그를 검사하기 위해 노력 또는 피들러 할 수 있나요? (그래서 당신은 문제가 백그라운드 프로세스 또는 클라이언트 쪽 js 또는 다른 .. 알 수 있습니다) –

+1

@Harsh 나는 피들러와 방화범을 사용하고 콘솔에서 내가 2 오류 : '오류 : AjaxControlToolkit은 ASP.NET이 필요합니다 Ajax 4.0 스크립트. 올바른 버전의 스크립트가 참조되었는지 확인하십시오. 당신은 ASP.NET 스크립트 관리자를 사용하는 경우, AjaxControlToolkit.dll.' 에 ToolkitScriptManager로 전환 '형식 오류 : Sys.Extended이 undefined' 입니다 그리고 당신은 내가 AJAX ToolKitScriptManager를 사용하고 볼 수 있습니다. 나는 그것을 올바르게 참조했다. – TIPS

답변

0

bin 폴더의 ajaxcontroltoolkit.dll을 최신 버전으로 바꾸어 보셨습니까? 나는 때때로 VS가 dll을 때때로 참조 사본으로 덮어 쓴다는 것을 발견했다.

+1

예. 나는 그것을 시도했다. zip 파일을 수동으로 다운로드하고 바꿉니다. 또한 NuGet과 콘솔에서 AjaxToolkit을 다시 설치하고 이전 버전을 설치하려고 시도했습니다. 4.1.60623 (현재 : 4.1.60919) 여전히 내 의견에 언급 된 오류가 발생합니다. – TIPS

+0

아 .. 똑같은 문제는 이쪽 !! 그래서 좌절 –

0

것이 확인 AjaxControlToolkit.dll의 버전을, 코드 아래에 사용해보십시오 또한 asp.net forum

참조 대신 ToolkitScriptManager

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
      <Scripts> 
       <asp:ScriptReference Name="AjaxControlToolkit.Common.Common.js" Assembly="AjaxControlToolkit" /> 
       <asp:ScriptReference Name="AjaxControlToolkit.ExtenderBase.BaseScripts.js" Assembly="AjaxControlToolkit" /> 
      </Scripts> 
</asp:ScriptManager> 

ScriptManager를 사용, 그것은 3.5 이상하지 1.0

을해야한다 AjaxControlToolkit.CommonToolkitScripts error 이상의 내 대답을 확인하여 다른 .NET 사용자와 비슷한 종류의 문제가있는 다른 사용자의 문제를 해결했습니다. fr amework scenerio.

+0

나는 그것을 시도하고 다른 사용자에게 준 정보와 링크를 따라 갔다. 그러나 도움을 주셔서 감사하지만 작동하지 않습니다. 다른 사용자가 참조한 기사에있는 것과 같은 오류가 발생합니다. 그리고 당신은 그를 3.5 스크립트라고 안내합니다.글쎄, 4.5를 사용하고 있으며 해결할 수없는 것 같습니다. 그 스크립트의 4.5 대체품을 찾으려고 노력했지만 여전히 그 사실을 파악할 수는 없습니다. 네가 나를 더 이상 도울 수 있다면 그것은 위대 할 것이다. – TIPS

+0

오류 페이지가 나타나면 뭔가 알게되었습니다. 아래쪽에이 메시지가 표시됩니다. '버전 정보 : Microsoft .NET Framework 버전 : 4.0.30319; ASP.NET 버전 : 4.0.30319.18010' IIS가 4.0에서 실행 중일 수 있습니까? IIS 응용 프로그램 풀을 확인했지만 v4.5가 나열되었지만 .NET Framwork 버전이'v4.0'을 의미하는 v4.0.30319를 의미합니다. 변경 시도는 좌절로 바뀌 었습니다. , 그리고 일부 게시물에서 나는 그것이 ok라고 말했고 그것이 있어야한다고 판시했다. – TIPS

+0

나 한테 생각 좀해라. 'ACT Autocomplete'를 쓰고있는 시간을 보아라. jquery autocomplete를 한번 시도해 보라. 나는 그저 작동하는 것이 당신과 당신 상사에게 좋다는 것을 믿는다. jquery는 'ACT'보다 더 풍부한 라이브러리입니다. D –

0

사용은 correctlly 일 것이다 버전 4.1.60919을 AjaxControlToolkit

관련 문제