2009-09-22 11 views
0

J'ai une bibliothèque de classes .Net. Je veux passer une variable cachée d'une fois le code derrière la page et la récupérer dans un autre code derrière la page. PLease note Je n'ai pas de page de conception (page aspx) où je peux utiliser la balise de formulaire et la méthode get/post. Comment pouvons-nous faire cela? NB: Je souhaite utiliser des champs cachés pour passer une valeur d'une page à une autre.Comment passer un champ caché d'une page à une autre?

Répondre

0

Vous pouvez utiliser une variable de session? Ils ne sont pas ma préférence mais cela satisferait votre besoin.

Session["VariableName"] = something; 

object somethingOnNextPage = Session["VariableName"]; 

Bonté,

Dan

+0

Merci Daniel pour la réponse. Pouvez-vous me dire comment gérer les champs cachés dans un code derrière la page? –

+0

Sans formulaire, vous ne pouvez pas avoir une valeur de formulaire masquée. –

1

vous pouvez enregistrer la valeur dans la session en tant que telle:

Session["YourName"] = yourvalue; 

dans le code derrière vous faites ceci:

Session["MyValue"] = "theValueYouWantToPass"; 

dans votre autre page, vous d o:

string valueFromAnotherPage = Session["MyValue"].ToString(); 
+0

Avons-nous besoin de déclarer explicitement "MyValue"? –

+0

"MyValue" est juste un nom pour votre variable de session ... vous pouvez l'appeler comme vous voulez. Une fois que vous avez assigné cette valeur à la variable "MyValue" en session, vous pouvez toujours l'extraire comme suit: string valueFromAnotherPage = Session ["MyValue"].ToString(); –

1

Si vous souhaitez conserver la variable masquée, vous pouvez utiliser une session pour stocker votre objet.

Par exemple,

Réglage de la valeur de la session

Session["HiddenValue"] = "something"; 

Obtenir la valeur de la session

string something = (string)Session["HiddenValue"]; 

Gardez toutefois à l'esprit que les sessions ne sont que pour un temps limité (Cela peut être configuré avec IIS et votre configuration web).

Here is a good resource to learn about sessions and session state.

+0

Merci pour la réponse. Pouvez-vous me dire comment gérer les champs cachés dans un code derrière la page? Je ne veux pas utiliser la session. –

+1

@archana roy: chaque fois qu'un navigateur demande une page différente, vous perdez toutes les valeurs de variables que vous aviez sur la page en cours, sauf si vous les enregistrez en session sur HTTPContext –

+0

Suggérez-moi d'utiliser this-- HttpContext.Current .Items ["var"] = valeur; var value = HttpContext.Current.Items; –

0

Vous pouvez utiliser Session ou HttpContext.Current.Items. Si votre valeur est une variable temporaire, je suggère d'utiliser HttpContext.Current.Item au lieu de la session car il sera parti dès que HttpContext actuel est parti, mais les éléments qui sont stockés dans la session ne sera pas effacé avant l'expiration de la session.

Session["var"]=value; 

var value=Session["var"]; 

HttpContext.Current.Items["var"]=value; 

var value=HttpContext.Current.Items; 
+0

Merci pour la réponse. Pouvez-vous me dire comment gérer les champs cachés dans un code derrière la page? –

+0

ici http://www.csharphelp.com/archives/archive184.html est un article sur l'utilisation des champs cachés – Beatles1692

0

Qu'en est-postbacks cross pages (voir l'affichage sur plusieurs pages dans les pages Web ASP.NET, http://msdn.microsoft.com/en-us/library/ms178139.aspx)? Je ne l'ai jamais vraiment utilisé, mais cela pourrait être une option. Sinon, vous pouvez accéder à votre élément de formulaire caché via l'ancienne Request.Form de l'école. Une autre option pourrait être de toujours avoir cet élément caché sur chaque page en le mettant dans la page maître. Ensuite, vous l'exposez comme une propriété publique et vous pouvez l'obtenir/définir au contenu de votre coeur.

Questions connexes