2010-03-31 12 views
3

Je suis à la recherche d'un mécanisme fiable pour générer un gestionnaire de publication côté serveur pour un HTMLGenericControl tel qu'un élément li.Comment enregistrer un clic côté serveur sur un HTMLGenericControl?

J'ai un balisage que je ne souhaite pas changer et que je préférerais traiter de la même manière qu'un contrôle de serveur standard .Net.

En outre, je sais que je peux utiliser un contrôle basé sur un modèle pour placer certains contrôles .Net dans le balisage comme masqués, puis déclencher leurs événements de clic à partir d'un proxy cliquable côté client. Cependant, je me demande vraiment si cela peut être mieux fait.

Répondre

3

Le problème avec ce dont vous avez besoin est:
- il n'y a pas de contrôle côté serveur avec un gestionnaire d'événements valide afin qu'un événement côté serveur puisse être déclenché.

quelques options que je peux penser à:

  • utilisation PageMethods
  • appel du __doPostBack()
  • appel coutume javascript pour faire une demande de XMLHTTP au serveur
1

Regardez dans la fonction ASP.NET __doPostBack. Here est un bon résumé.

Vous pouvez ajouter un gestionnaire de clic à vos éléments LI (ou autre) pour qu'ils appellent la fonction __doPostBack. C'est ce que font la plupart des autres contrôles serveur, donc vous utilisez le même mécanisme - la seule différence serait que vous définissez manuellement le gestionnaire de clic sur vos éléments.