2010-11-03 14 views
0

Quelqu'un peut-il aider?ASP.NET: mélange des contrôles serveur avec les contrôles client?

Normalement, j'utilise les contrôles du serveur, par exemple Textbox, pour pouvoir accéder à l'événement côté serveur. Mais que se passe-t-il si je n'ai pas besoin d'accéder à l'événement côté serveur et que je vais placer jquery ou javascript dans la zone de texte, par exemple. Puis-je utiliser un HTML standard (contrôles client)?

Est-ce une bonne pratique ou pas?

Merci à l'avance

Répondre

2

vous pouvez utiliser la norme HTML simple mais si vous voulez accéder qui contrôle la valeur dans ASP.NET, vous devrez ajouter runat = « tag serveur » voir ci-dessous

<input type="text" runat="server" id="mytxtbox" name="mytxtbox"> 

Si vous voulez vraiment utiliser les contrôles HTML, vous pouvez les utiliser. mais cela rendra votre vie facile à utiliser les contrôles ASP.NET standard si vous essayez d'y accéder du côté serveur.

Et si vous souhaitez accéder à ces contrôles à l'aide du javascript, vous pouvez utiliser quelque chose comme

var mytxtele = document.getElementById('<%= mytxtbox.ClientID %>') 

thats comment vous pouvez obtenir élément textbox et jouer avec en javascript.

Ce code ci-dessus est une idée de base, dépend comment vous voulez travailler

+2

+1. Il est recommandé d'utiliser des champs de saisie HTML standard si vous n'avez pas besoin d'accéder à votre C#/VB. En fait, cela réduit probablement le temps de traitement du serveur, si vous voulez couper les cheveux. – LesterDove

+0

Merci les gars .. juste ce que je cherchais – Martin

1

1) Si les contrôles ne vont pas être consulté sur le côté du serveur, évitez d'utiliser des contrôles serveur.

2) Lorsqu'un contrôle serveur est utilisé, il passe par l'ensemble du cycle de vie, de l'initialisation au rendu et enfin au déchargement.

3) Il enregistre également la contrainte de mémoire sur l'état d'affichage.

0

Oui, vous pouvez utiliser les contrôles HTML standard, mais les contrôles asp.net sont plus flexibles et vous aurez la même sortie html pour chaque type de contrôle. Si vous avez besoin d'utiliser JQuery et vous avez des problèmes avec les ID de contrôle, consultez la documentation parce que vous pouvez écrire quelque chose comme ça (supposons que JQuery dans la balise asp.net):

$('#<%=this.clientId%>').style.display = 'block'; 

Quoi qu'il en soit, je suis sûr qu'il y est une méthode dans JQuery pour appeler un seul objet aussi quand il ne connaît qu'une partie de son nom d'identification (mais je ne me souviens pas comment .. :))