2015-11-30 2 views
0

Disons que j'ai une zone de texte dans un projet webforms qui ressemble à ceci:ASP.NET WebForms supprime la zone de texte modèle HTML5 attribut

<asp:textbox id="TextBox1" runat="server" pattern="[A-Za-z0-9\s]{4,}"/> 

lors du rendu, l'attribut pattern est supprimé. Si j'ajoute l'attribut dans le code-behind l'attribut est également supprimé:

TextBox1.Attributes.Add("pattern", "[A-Za-z0-9\\s]{4,}"); 

Peu importe ce que le modèle est en réalité. C'est l'attribut nommé "pattern" qui est effacé lors du rendu. Nommez l'attribut quelque chose d'autre et il sera rendu.

Je ne trouve aucune documentation à ce sujet et personne n'a le même problème. Quelqu'un at-il une solution de contournement, à court d'écrire un contrôle serveur personnalisé qui étend TextBox?

+0

Si vous utilisez Visual Studio, peut-être essayer de mettre à jour la validation HTML dans vos options? Aller à Outils-> Éditeur de texte-> HTML (Web Forms) -> Validation puis sélectionnez HTML5 dans la 'Cible lorsque aucun type de document trouvé'. Sinon, vérifiez que le navigateur que vous utilisez est compatible avec HTML5? – tbm0115

Répondre

0

Votre attribut de configuration n'est pas supprimé. Si vous définissez votre modèle comme l'attribut de modèle de la zone de texte:

<asp:textbox id="TextBox1" runat="server" pattern="[A-Za-z0-9\s]{4,}"/> 

Puis dans votre code derrière vous pouvez vérifier la valeur:

 var r = TextBox1.Attributes["pattern"]; 
+0

Non, c'est effacé. Voir la source et il n'est pas là pour être vu. –

+0

Je peux le voir dans View Source: Gregg

+0

Oui. .. Je regarde plus loin et il semble être quelque chose lié au projet local. J'essaie de le retrouver. –