2010-03-15 5 views
0

Puis-je ajouter l'attribut BehaviorID pour la zone de texte asp.net et l'utiliser pour être reconnu par le script Java?asp.net textbox ajoutant BehaviorID

En d'autres termes, je souhaite appliquer une fonction de script java sur la zone de texte asp.net et je souhaite que le script java trouve la zone de texte asp.net par BehaviorID.

Répondre

2

Le TextBox.Attributes.Add ajoutera correctement les attributs, mais ils ne seront pas compatible XHTML. Pour ajouter des attributs compatibles XHTML, vous pouvez utiliser la méthode ClientScript.RegisterExpandoAttribute.

protected void Page_Load(object sender, EventArgs e) 
     { 
      if(!Page.IsPostBack) 
      { 
       BindData(); 
      } 

     } 

     private void BindData() 
     { 
      ClientScript.RegisterExpandoAttribute("txtName","BehaviorID",String.Empty); 
     } 

Ce qui précède ajoutera BehaviorID en tant que propriété JavaScript au lieu d'ajouter un attribut directement dans l'élément TextBox.

+0

@azamsharp: Vous n'avez pas entièrement raison de ne pas être conforme à la norme XHTML. XHTML fournit un moyen de spécifier une DTD personnalisée pour la validation. Voir des exemples ici (http://www.alistapart.com/articles/customdtd/) et ici (http://stackoverflow.com/questions/2413147/are-custom-attributes-ok-in-xhtml). – R0MANARMY

+0

Merci pour le lien. – azamsharp

1

Bien sûr. Dans votre code-behind:

myTextBox.Attributes.Add("BehaviorID", id.ToString()); 

Le code HTML résultant ressemblera à quelque chose comme:

<input type="text" BehaviorID="7" id="myTextBox" (...) />