2008-10-09 8 views
2

Je charge actuellement une page en tant que boîte de dialogue modale sous la forme window.showModalDialog ("url.aspx"). La première fois que la boîte de dialogue modale apparaît, l'événement de chargement de la page est appelé. Lorsque je le ferme et que j'appelle de nouveau la même chose, le contrôle ne vient pas au PageLoad. Au lieu de cela, la page apparaît avec les valeurs précédentes dans tous ses contrôles.window.showModalDialog Page Charge en cours d'exécution

Je veux réellement que le PageLoad soit déclenché chaque fois que la boîte de dialogue modale apparaît.

Répondre

1

ok .... vous savez que showModalDialog est une fonctionnalité propriétaire exclusive d'IE? Tant que vous êtes conscient de cela, je pense que vous devrez peut-être ajouter une valeur de chaîne de requête unique à l'URL que vous utilisez pour éviter d'afficher la version en cache. Générez donc un nombre aléatoire et ajoutez-le à l'url, par exemple url.aspx? Rnd = 12237827348273. Cela devrait briser le cache et faire une nouvelle demande

+0

Si vous avez le contrôle de la page modale (url.aspx) alors pourquoi ne pas désactiver la mise en cache sur la page au lieu de ce hack pas si élégant. Utilisez la directive @OutputCache <% @ OutputCache Duration = "0" Location = "None" VaryByParam = "none"%> ou appelez Response.Cache.SetCacheability (HttpCacheability.NoCache); –

1

Appliquer la directive suivante dans le InPage de la forme:

<%@ OutputCache Location="None" %> 
Questions connexes