Ajout/suppression d'une des variables de session sur la Page OnInit/OnLoad en C#

Je suis à l'aide de C#.

Je vais avoir des ci-dessous de code en C#:

protected override void OnInit(EventArgs e)
{
    try
    {
        if (Session["boolSignOn"].ToString() == "true".ToString())              
        {              
            lblPanelOpen.Text = Session["panelOpen"].ToString();
        }
        else
        {
            lblPanelOpen.Text = Session["panelOpen"].ToString();
        }
    }
    catch (Exception ex)
    {
        Logger.Error("Error processing request:" + ex.Message);
    }
}
protected override void OnLoad(EventArgs e)
{
    try
    {
        if (!string.IsNullOrEmpty(Session["panelOpen"].ToString()))
        {
            lblPanelOpen.Text = string.Empty;
            Session.Remove("panelOpen");
        }
    }
    catch (Exception ex)
    {
        Logger.Error("Unable to remove the session variable:" + ex.Message);
    }
}

Dans le code ci-dessus, je vais avoir un Session["panelOpen"] variable qui est créé à partir d'un autre contrôle de l'utilisateur et une fois que ma page est en train d'essayer de rendre, je suis le stockage Session["panelOpen"] dans mon cachés lblPanelOpen.Text sur la page OnInit() méthode, cependant, quand la page est chargée complètement, puis je suis en train de supprimer la variable de session.

S'il vous plaît suggérer!

  • Vous pouvez utiliser PageLoadComplete événement pour que.
  • Quel problème rencontrez-vous?
  • Quelle est la question?
  • Fondamentalement, ce que je suis en train de faire, c'est que, sur ma page d'accueil il y a curseur de panneaux qui se ouvre lorsque l'utilisateur clique sur l'un d'eux, et si le panneau est ouvert et que l'utilisateur clique sur le lien de connexion pour obtenir la connexion, après la fonctionnalité de connexion est effectuée, l'utilisateur est redirigé vers sa page, ici, je suis en train d'essayer d'ouvrir le même panneau qui a été cliqué par l'utilisateur avant de passe pour la connexion. Ci-dessus dans onit fonctionnait bien, mais le seul problème est qu'il jusqu'à ce que la variable de session est là, il va ouvrir le même panneau de commande si l'utilisateur revient sur la page d'accueil. S'il vous plaît suggérer
  • pouvez vous s'il vous plaît exp[lain ce que tu veux dire par "mais le seul problème est qu'il jusqu'à ce que la variable de session est là, il va ouvrir le même panneau de commande si l'utilisateur revient sur la page d'accueil". Dites-vous que même si l'utilisateur n'est pas enregistré dans le même panneau s'ouvre pour chaque utilisateur... s'il vous plaît expliquer!!
  • Non, Regardez la Session["panelOpen"] variable contiendra l'ID du panneau qui est cliqué par l'utilisateur, disons exemple j'ai 5 panel sur ma page d'accueil et de l'utilisateur clique sur 2 panneau et l'ouvre et entre les deux il clique sur le lien de connexion pour obtenir les identifiants de connexion de l'application, alors il est redirigé vers la page de login avec les valeurs de panneau est ouvert dans notre cas, il est de 2, maintenant sur la page de login, je suis en train de la Session["panelOpen"] avec la valeur 2, puis à partir de la page de login de l'utilisateur est redirigé vers la page d'accueil, maintenant, ici, je vérifie pour la session vairable et selon que je suis en ouvrant le même panneau qu'il a cliqué avant la connexion.
  • vraiment il pas encore clair pour moi, je comprends ce que vous essayez de faire, vous avez un panneau sur votre page d'accueil et lors de la demande de l'utilisateur pour se connecter quand il a redirigé vers la page d'accueil une fois le processus de connexion que vous souhaitez conserver l'état du groupe tel qu'il était avant la connexion. Mais il est clair pour moi comment vous faites cela maintenant et quel est votre problème?
  • La question ici n'a la session de l'utilisateur anonyme toujours le même pour l'utilisateur quand il se connecter? Je n'ai pas de réponse à cette question peut-être que je devrais le poster :), mais je pense que ce n'est pas la même et donc vous ne pouvez pas utiliser la session d'acquiescer à votre demande. Êtes-vous d'obtenir la référence d'Objet n'est pas définie à une instance d'un objet ?
  • Avec la poursuite des commentaires ci-dessus - je suis le panneau d'ouvrir sans aucun problème, mais le problème est que si l'utilisateur clique sur une autre page à partir de la page d'accueil et revient à la page d'accueil du même panneau s'ouvre, que selon le code de toujours vérifier la Session["panelOpen"] valeur dans notre cas, il est de 2 de sorte que la deuxième panneau sera de nouveau ouvert. Je veux juste ouvrir une fois après qu'il se comporte comme d'habitude.

InformationsquelleAutor Manoj Singh | 2011-01-16