2010-08-26 2 views
0

Formulaire Web ASP.NET avec widget onglets JQuery UI et quatre onglets. Je voudrais désactiver les trois derniers onglets lorsque je clique sur un bouton d'envoi.Désactivation d'un côté de serveur de l'onglet jquery

Merci!

P.S. Je sais comment désactiver les onglets dans jquery

$(".selector").tabs({ disabled: [1, 2] }); 

Je ne sais pas comment le faire dans le code côté serveur :)

Répondre

2

jQuery est côté client. Vous ne pouvez pas le désactiver côté serveur.

Ce que vous pouvez faire est de renvoyer ce bit de jQuery à la page du serveur lors du chargement de la page suivante (ou de l'appel AJAX).

+0

Ok. Alors, quelle est votre suggestion? Appel d'un script côté client avec le gestionnaire OnClientClick ou enregistrement d'un script client à exécuter lors du chargement de la page suivante? – Lorenzo

+1

La page effectue-t-elle une publication sur submit? Ou faites-vous un appel AJAX? La réponse à cela est votre réponse. –

0

Le côté serveur n'a aucune notion de jQuery ou de JavaScript en général, tout est fait du côté client. Une chose que vous pouvez faire est, ajouter un peu de JavaScript pour envoyer au côté client pour exécuter lorsque la page se charge dans le serveur côté gestionnaire d'événements de clic du bouton:

http://msdn.microsoft.com/en-us/library/3hc29e2a.aspx

Je n'ai pas vraiment fait beaucoup avec ça, mais ça semble être plutôt standard. Une autre possibilité consisterait à envelopper les onglets dans les contrôles PlaceHolder et à les définir sur visible = true/false en conséquence dans les gestionnaires d'événements. Vous pouvez assez dynamiquement ajouter/supprimer PlaceHolders autour de HTML et JavaScript assez facilement.

0

vous pouvez poster javascript depuis le code CS. Donc, dans votre méthode click_submit_button utiliser les éléments suivants:

int Tab_to_Disable = 3; 
ClientScript.RegisterStartupScript(this.GetType(), "Script", "<script language=javascript>" + 
"$('#container-1').tabs().tabs('disable', " + Tab_to_Disable + "); " + 
"</script>"); 

Hope this aidé: D

0

Il est une technologie JQuery UI, vous ne pouvez pas le désactiver sur le côté serveur. Mais une solution de contournement peut vous aider à désactiver est Enregistrer un script de démarrage du côté serveur sur Page_load ou toutes les autres fonctions.

string str = "$(\"#tabs\").tabs({ disabled: [1, 2] });"; 
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "DisableTabs", str, true); 
Questions connexes