2010-10-28 14 views
1

donné une zone de texte:ASP.net sur tour ID client pour les éléments de formulaire

<asp:Textbox runat="server" id="txtAddress1" /> 

Cela rend comme quelque chose de similaire à:

<input name="ctl00$mainContent$txtAddress1" type="text" id="ctl00_mainContent_txtAddress1" /> 

Je ne pense pas que les navigateurs reconnaissent caractéristiques autocomplete ce nom/ID comme un champ qu'ils peuvent remplir automatiquement, ils ne sont pas des noms reconnus standard.

Existe-t-il un moyen de dépasser les ID de client afin que la saisie semi-automatique ait une meilleure chance de les reconnaître?

Répondre

4

2 Points avec ceci.

1) La fonctionnalité "Remplacer le nom" a été introduite dans ASP.Net 4.0, où pour toute propriété, vous pouvez choisir un nom codé en dur au lieu du nom dynamique. Vous devez faire attention car vous ne voulez pas que 2 objets partagent un nom. 2) ASP.Net 2.0 et supérieur (peut-être en v1.0) a une propriété sur le contrôle appelée "AutoCompleteType" qui fournit une indication au navigateur sur le type d'informations requises dans la boîte.

1

En supposant que vous utilisez Asp.net 4.0 et que vous soyez conscient des points mentionnés par DJIDave, vous pouvez utiliser la propriété ClientIDMode sur un contrôle et le définir sur 'Statique'. Ensuite, tout ce que vous spécifiez dans le champ Id dans Asp.Net sera amené à votre balisage final, et ne sera pas «mutilé» (faute d'un meilleur mot) par Asp.Net.