2013-02-14 4 views
0

J'ai 3 parties sur mon site, le site principal, le contrôle utilisateur (à l'intérieur du site principal) et la page générale. Lorsqu'un utilisateur se connecte, il est redirigé vers la page Général. Le contrôle utilisateur est une liste déroulante de différents comptes (premier compte de sélection automatique) qui obtient leur nom d'utilisateur et exécute la procédure stockée pour extraire leurs informations dans une variable de session SiteID.Charger le contrôle utilisateur avant la page

Ensuite, dans la page Général, je définis toutes les étiquettes pour les informations des utilisateurs. avec ce code.

  if (Session["SiteID"] != null) 
     { 
      SiteID = int.Parse(Session["SiteID"].ToString()); 
      PopulateAccountData(); 
      PopulateAccountInformation2(); 
      PopulateSiteNodes(); 
      PopulateSiteMap(); 
     } 

     else 
     { 
      LabelSiteName.Text = "No Site Selected"; 

     } 

Le problème est quand la page se charge pour la première fois, il ne dispose pas Session["SiteID"], je dois actualisez pour tout charger.

Je suis nouveau sur ASP.net, donc je ne suis pas sûr si je le fais bien, mais comment puis-je tout charger la première fois?

+1

Ne laissez pas le UserControl lier lui-même de '' Page_Load' mais il DataBind' de la page quand il le devrait. Cela permet également de charger paresseux les contrôles. La page est le contrôleur pas le 'UserControl'. Donc, fournissez une méthode publique dans 'UserControl' que vous pouvez appeler depuis la page. –

Répondre

0

Utilisation: IsPostBack

Rechercher: //www.java-samples.com/showtutorial.php?tutorialid=1083

+0

Je ne suis pas sûr comment le placer dans un ispostback réglerait le problème. Voulez-vous dire mettre mon code que j'ai posté ci-dessus dans ispostback {}. La commande usercontrol leur permet de choisir un compte différent à choisir parmi lequel une publication. Je suppose que je ne vous suis pas, désolé. – Zach

Questions connexes