2010-05-28 5 views
0

Je me sens comme c'est une question stupide, mais j'ai du mal à obtenir cette réponse.Masquer jquery boîte de dialogue sur asp.net postback

Je souhaite uniquement afficher la boîte de dialogue jquery lors du premier rendu de la page. Après les rendus de page, plusieurs opérations entraînent la publication de la page, mais l'utilisateur ne quitte pas cette page. Comment interdire l'affichage de la boîte de dialogue jquery sur ces événements de publication.?

Merci d'avance!

Répondre

0
  • Vous pouvez stocker une variable sur le serveur pour indiquer s'il s'agit d'une première visite.
  • Vous pouvez placer quelque chose dans une chaîne de requête (ou même un cookie je suppose) et avoir une vérification javascript pour déterminer si elle devrait l'afficher.
    (http://www.yoursite.com/yourpage?firstvisit=false)
1

Une approche pourrait être de supprimer l'élément de dialogue sur postback, de cette façon le sélecteur jquery ne correspond pas à quoi que ce soit. Je ne sais pas si c'est la meilleure façon ou pas, mais ça devrait marcher.

void Page_Load() 
{ 
    // stuff 
    if(this.IsPostback) 
     dialogElement.Visible = false; 
} 

Votre dialogElement pourrait être quelque chose, aussi longtemps que il y a un runat = « server », vous pouvez y accéder à partir du code-behind. La propriété Visible contrôle si l'élément est rendu ou non dans la sortie HTML, donc s'il est faux, alors l'élément n'existera pas dans le DOM.

+0

Merci pour vos réponses. Puisque la boîte de dialogue doit apparaître lorsque la page est chargée et peut également être rouverte en cliquant sur un lien, j'ai trouvé une solution similaire à celle de ckramer. HtmlGenericControl bdy = (HtmlGenericControl) Master.FindControl ("MasterBody"); if (! IsPostBack) { bdy.Attributes.Add ("onload", "isPostBack()"); } sinon { bdy.Attributes.Remove ("onload"); } le javascript fonction IsPostBack() { $ ('# thedialog') de dialogue ('ouvert'). return false; } – mellowyellow77

0

Une autre façon de gérer cela consiste à injecter la variable côté serveur dans la page en tant que variable javascript au cours de l'événement Page_Load côté serveur. Rick Strahl a créé une classe qui le rend trivial à pass ASP.NET server side variables to the client side JavaScript. Vous ajouteriez vos variables en tant que paires clé/valeur qui sont affichées en tant que propriétés JavaScript.

Questions connexes