JodoHost Forums  

Go Back   JodoHost Forums > The Code Dump > AJAX Snips

Reply
 
Thread Tools Display Modes
  #1  
Old 02-09-07, 01:17 AM
BluJag's Avatar
BluJag BluJag is offline
Bull Shark
 
Join Date: Apr 2005
Location: England
Posts: 305
Rep Power: 7
BluJag is at Grade 1
Ajax 1.0 Autocomplete textbox asp.net 2.0

9 Feb 07
ASP.NET version 2.0
AJAX.NET version 1.0 (as released a couple of weeks ago)
Visual Web Developer Express Edition (VWD)
Language VB.NET

Using the ajax autocomplete gizmo so you can have your text box show a drop down list like "Google suggest" do when you type in a search term.

Spent hours (and hours...) trawling the net trying to get the thing to work, and now I have I thought I'd share how I did it to save anyone else the trouble.

Create an ASP.Net Ajax Enabled Web Site from file menu of VWD

Create a bin diectory within the root of this web site. Inside it place
Microsoft.Web.Preview.dll and AjaxControlToolkit.dll You will have downloaded these from the AJAX : The Official Microsoft ASP.NET AJAX Site

on default.aspx page drag

1 a ScriptManager from the AJAX Extensions part of the VWD Toolbox
2 a text box - call it txtTest
3 a AutoCompleteExtender from the Ajax Control Kit part of the VWD Toolbox (note - if this section of the Toolbox is not there you need to copy and paste the AjaxControlToolkit.dll onto a new section of the Toolbox - this will create all the tools for you)

Go to the source view of default.aspx and make it so

//////////////////////////////////////////////////////////////////////////////////////////////////////////
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<META http-equiv="Page-Enter" content="blendTrans(Duration=2)">



<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Test Page</title>

</head>
<body>
<form id="Form1" runat=server>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</div>

<div ID="AutoComplete" runat="server" class="some css style you've defined"></div>

<asp:TextBox ID="txtTest" runat="server" CssClass="some css style you've defined" MaxLength="50"></asp:TextBox>

<cc1:autocompleteextender id="aceTest" Enabled=true TargetControlID="txtTest" ServiceMethod="GetData" runat="server" ServicePath="autocomplete.asmx" CompletionInterval="1" MinimumPrefixLength="1" CompletionListElementID="AutoComplete" CompletionSetCount="20" EnableCaching=true></cc1:autocompleteextender>

</form>


</body>
</html>
//////////////////////////////////////////////////////////////////////////////////////////////////////////

Now, from the file menu of VWD select New File and select Web Service and call it autocomplete.asmx Do not tick the Place code in separate file box

Open up autocomplete.asmx and make it so

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\
<%@ WebService Language="VB" Class="autocomplete" %>

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Data
Imports System.Data.SqlClient

<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://someurl.com/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicPr ofile1_1)> _
Public Class autocomplete
Inherits System.Web.Services.WebService

<WebMethod()> _
<System.Web.Script.Services.ScriptMethod()> _
Public Function GetData(ByVal prefixText As String, ByVal count As Integer) As String()

GetData = GetMembers(prefixText, count)

End Function

Private Function GetMembers(ByVal prefixText As String, ByVal count As Integer) As String()

' code to retrive list of members from SQL database
Dim SR As SqlDataReader
Dim DB As New Admin.Helpers 'class where stored proc is called to query database

Dim result(10000) As String
Dim members(10000) As String
Dim Co As String = ""

'What we want is a long string of members names, separated by a : so any method you use to achieve this will be fine. The string will end up lik e this Co="Abel:Jones:Kahn:Zak:"

SR = DB.GetMembers 'method in the Admin class

While SR.Read
Co = Co & SR("Members") & ":"
End While

SR.Close()

members = Co.Split(":")

Dim listOfMembers As String = String.Empty

'---find members being with the prefixText---

For Each member As String In members
If member.StartsWith(prefixText, StringComparison.OrdinalIgnoreCase) Then

'---add the member name to the list---

listOfmembers += member & vbLf
End If
Next

'---convert the members list into an array---

result = listOfmembers.Split(vbLf)

'---sort the array---

Array.Sort(result)

GetMembers = result

End Function

End Class
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\

That should be it - give it a try - it's really neat! The members name ends up in txtTest from where you can then do further procesing etc.
In this example all the files (except the dll's in the bin dir) are in the root directory.
Reply With Quote
  #2  
Old 07-13-07, 03:33 PM
subil
Guest
 
Posts: n/a
Smile Re: Ajax 1.0 Autocomplete textbox asp.net 2.0

i cant understand the helper class.if u can send me the complete code and db details it would be a gr8 help.thank u.subilbs@gmail.com
Reply With Quote
  #3  
Old 07-14-07, 05:22 PM
SubSpace SubSpace is offline
Hammerhead Shark
 
Join Date: Jan 2004
Location: The Netherlands
Posts: 1,050
Rep Power: 10
SubSpace is at Grade 1
Send a message via ICQ to SubSpace Send a message via MSN to SubSpace
Re: Ajax 1.0 Autocomplete textbox asp.net 2.0

The auto completion requires a webservice to supply it with data, which is what the helper class is.
That webservice requirement is quite annoying really
__________________
Reply With Quote
  #4  
Old 06-01-10, 07:04 AM
eliza81 eliza81 is offline
Guppy
 
Join Date: Jun 2010
Posts: 1
Rep Power: 0
eliza81 is at Grade 1
Re: Ajax 1.0 Autocomplete textbox asp.net 2.0

The solution is to add autocomplete="off" attribute to textbox tag, which will help to stop auto suggestion behaviour for that particular textbox.
And if you want to stop that behaviour for all the textboxes that are present inside a form then add autocomplete="off" attribute to form tag.

According to HTML specifications, autocomplete is an unrecognized attribute which was originally created by Microsoft (feature of remembering what you have entered in previous text fields with the same name, available first in Internet Explorer) and has adopted by all other major modern browsers (except Opera).
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
What about the slow restart for ASP.NET 2.0 sites Anjinho TechTalk 3 09-21-07 09:43 AM
ASP.NET 2.0 site SubSpace Reseller Hosting Support 7 02-07-07 12:39 PM
Problem with ASP.NET 2.0 medium trust. Not able to read other domains Anjinho Shared Hosting Support 0 09-29-06 04:29 AM
ASP.NET 2.0 separate from ASP.NET 1.1 Anjinho Suggestions and Feedback 12 07-14-06 09:01 AM
ASP.NET 2.0 Membership Tables VividWeb Reseller Hosting Support 7 03-01-06 01:02 PM


All times are GMT -4. The time now is 09:00 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
(c) 2002 - 2009 JodoHost