2009-12-14 5 views
0

Sur mon site Web, je l'ai installé où lorsque quelqu'un clique sur un de mes articles, une boîte de dialogue modale JQuery apparaît. Fonctionne très bien (grâce à l'aide de Stackoverflow)! Alors maintenant, je crée dynamiquement des linkbuttons et des imagebuttons dans la boîte de dialogue, en fonction de ce qui a été cliqué. Lorsque j'ai créé lesdits boutons (tous côté serveur), ce que je leur ai dit de faire:ASP LinkButton à l'intérieur de JQueryUI Dialog le ferme - comment puis-je empêcher cela?

inserttext2.OnClientClick = "window.open('" + vendorurl + "')" 
vendorpic.OnClientClick = "window.open('" + vendorurl + "')" 

La vendorurl variable est compris précédemment, mais il est l'URL qui va ouvrir dans un nouvel onglet/fenêtre quand quelqu'un clique sur le contrôle approprié. Quand quelqu'un clique dessus, il ouvre le nouvel onglet comme il est supposé le faire! Hourra. Mais! Quand je reviens à mon onglet d'origine qui avait la boîte de dialogue JQuery ouverte, il est maintenant parti! Comment pourrais-je m'assurer que le dialogue ne se ferme pas à moins que quelqu'un ne clique sur le petit truc de X pour le fermer?

Je suppose que depuis que j'ai utilisé OnClientClick, alors toute l'action se passerait côté utilisateur via javascript, et ne créerait pas de postback (ou quoi que ce soit qui se passe).

EDIT: Si vous avez besoin de le voir, le problème peut être dupliqué en allant ici: http://www.mobiuspc.com Cliquez ensuite sur l'onglet processeur, puis cliquez sur le 5ème élément vers le bas qui devrait être AMDZ940XCGIBOX. C'est celui que j'utilise pour tester, car une fois que vous cliquez sur (une seule fois, et ne le faites pas glisser), alors dans la fenêtre de dialogue qui en résulte, il a plusieurs liens disponibles sur lesquels cliquer. Tous les articles n'ont pas les liens, d'où la raison pour laquelle j'ai standardisé cet article pour des tests cohérents.

Répondre

3

Essayez ceci pour la OnClientClick

"window.open('" + vendorurl + "'); return false;" 
+0

fonctionne parfaitement! Merci beaucoup! Pour améliorer ma compréhension, je suppose que le retour faux signifie qu'une fois que l'événement se déclenche (window.open dans ce cas), cela ne dérange pas de dire au serveur que quelque chose s'est passé, et donc aucune publication! brillant! –