Passage de variable de session à partir de la page à page

Je me demande quel est mon problème sur la façon de passer une variable d'une page à l'aide de asp.net session.

J'ai dépouillé le code sur une seule zone de texte pour voir ce qui se passe. Je suis juste en train de prendre la valeur d'une zone de texte et de l'afficher sur une page de confirmation. Lorsque le bouton est cliqué, cela transferts de moi à la deuxième page, mais il y a de l'étiquette est vide. Oui mon post url pointe vers la deuxième page.

Voici le bouton cliquez sur:

protected void submit_Click(object sender, EventArgs e)
{
    string name = txtFirstName.Text.Trim();
    Session["name"] = name;
}

Voici la page de chargement de la deuxième page:

protected void Page_Load(object sender, EventArgs e)
{
    lblName.Text = (string)(Session["name"]);
}

À moins que j'ai été à la recherche à de cette à long et à côté de quelque chose. J'ai déjà lu "Comment faire pour Lire des Valeurs de l'État de Session" à partir de MSDN.

  • Avez-vous réglé "enableSessionState" pour de vrai dans la directive de Page?
  • Que faire si vous essayez d'appeler .ToString() à la place de la coulée de la Session["nom"] ?
  • J'ai essayé le .ToString et a été d'obtenir la référence d'Objet n'est pas définie à une instance d'un objet d'erreur tellement ému de cette méthode.
  • La raison vous avez la référence de l'objet est parce que ta variable de Session n'a jamais vraiment été ensemble, et était donc nulle. Voir ma réponse. 🙂
  • Semble comme un endroit où vous devez simplement être en train de passer d'une chaîne de requête, plutôt que d'utiliser de la session. En principe, il faudrait s'efforcer d'être apatride, chaque fois que possible, lors de l'utilisation d'une application web.
  • enableSessionState je l'ai fait aussi, et toujours, juste une page blanche.
  • Servy, vous avez un point. Mais si vous voulez que l'utilisateur de ne pas afficher/modifier les données après la présentation, puis une chaîne de Requête ne fonctionne pas. Troy, essayer le code que j'ai posté et voir si cela fonctionne.
  • Vous pouvez afficher les données, plutôt que d'utiliser un paramètre get, ou vous pouvez faire côté serveur le transfert à l'autre de la page plutôt que d'un transfert. De toute façon, les données n'est pas logiquement dynamique, donc, en utilisant l'état persistant pour elle n'est pas vraiment bon.
  • Ouais, vous avez un point là. Ne peux pas dire que je suis en désaccord.

InformationsquelleAutor Troy Bryant | 2013-10-29