Tuesday, March 20, 2007

Autocomplete features of ASP.NET

Most of us would be very much familiar with "Autocomplete" feature of various browsers. After turning on that feature if you try filling any textboxes the browser provides you with the values which you have already typed in that field before.

What if the "autocomplete" feature is turned ON in the end users browser but you don't want the data to be catched by the browser?

Its quite simple. All we need to do is make use of the attribute "autocomplete" within the pages form tag.

Example 1: Disabling Autocomplete for the whole form

1. Create a sample web form and replace that default form tag with the code snippet below

<form id="form1" runat="server" autocomplete="off">
<asp:TextBox ID="txtOne" runat=server></asp:TextBox>
<asp:TextBox id="txtTwo" runat="server" ></asp:TextBox>
<asp:Button ID="btnGo" runat="server" Text="Submit" />
</form>

2. Now enable autocomplete in the browser. If its Internet Explorer do this: Tools >> Internet Options >> Content >> Autocomplete >> Check "Forms".

3. Run the default page and you could test it for yourself.

Example 2: Disabling autocomplete for a particular textbox in a form

1. Lets add "Autocomplete" feature to second textbox and set it as "off"

<form id="form1" runat="server" autocomplete="off">
<asp:TextBox ID="txtOne" runat=server></asp:TextBox>
<asp:TextBox id="txtTwo" runat="server" Autocomplete="off" ></asp:TextBox>
<asp:Button ID="btnGo" runat="server" Text="Submit" />
</form>


2. Run the page and you should get the autocomplete dropdown values for txtOne and for txtTwo it won't appear.

[I have tested it with ASP.NET 1.1 as well as 2.0]

Hope this helps!

No comments: