2010-05-05 9 views
1

Ce que j'essaye ici est de passer des valeurs à d'autres pages. Quand j'inclus le code suivantpasser des valeurs aux pages

private void Button1_Click(object sender, System.EventArgs e) 
{ 

    Response.Redirect("WebForm5.aspx?Name="+txtName.Text); 
} 

if (Request.QueryString["Name"]!= null) 
    Response.write(Request.QueryString["Name"]); 

tout fonctionne bien le nom est affiché. Maintenant, si utiliser MemberId à la place, même si je peux voir l'Id dans l'URL, mais tout en vérifiant Null dans l'autre page, c'est vrai ie if (Request.QueryString ["MemberId"]! = Null) Response.write (Request.QueryString ["MemberId"]); ne se fait pas imprimer. Qu'est-ce qui ne va pas??

Maintenant j'ai essayé la même chose en utilisant la session à savoir

Session["MemberId"] = this.TxtEnterMemberId.Text; 

if (MemberSex.Equals("M")) 
    Response.Redirect("PatientDetailsMale.aspx",false); 

d'événements Page_Load de l'autre page

if (Session["MemberId"] != null) 
    mid = Session["MemberId"].ToString(); 

IT Works..Could u guys expliquer le comportement s'il vous plaît?

P.S. Quelqu'un peut-il donner un breif en termes simples sur SessionId et son utilisation.

vous Remerciant,

Indranil

+0

Vous avez publié uniquement le code que vous avez au travail - Qu'en est-il de l'affichage du code qui ne fonctionne pas ...? – awe

+0

jeter un oeil à nouveau :) – piku

Répondre

0

Eh bien d'abord de tout ce que vous utilisez querystring des informations sans importance. Vous devriez utiliser une variable de session si vous ne voulez pas que l'utilisateur voit la valeur. La session est sauvegardée côté serveur!

utilisation queryString:

Response.Redirect("Default.aspx?id=4"); 

Après cela, vous pouvez le lire sur un autre page:

if (Request.QueryString.Count > 0) 
    Int32 i = Convert.ToInt32(Request.QueryString("id")); 

utilisation de la session:

Session["id"] = 5; 

Après cela, vous pouvez le lire sur les autres pages :

if (Session["id"] != null) 
    Int32 i = Convert.ToInt32(Session["id"]); 

Hope this vous aide

+0

merci pour l'explication ... mais wy doesnt mon code fonctionne ...la première partie. – piku

+0

s'il vous plaît poster votre dernier code essayez avec la valeur entière id – MUG4N

1

si vous avez MemberID dans l'URL il sera disponible par demande [ « MemberID »] et il ne fait pas exception à cela.

s'il vous plaît assurez-vous que vous vérifiez le nom correct dans la demande [ « HolderName »]

0

Pour vous donner un bref explaination au sujet de l'état de session, par configuration par défaut, ils sont stockés sous forme d'objets en direct dans le processus de travail IIS (appelé InProc), étant isolé par l'utilisateur (un utilisateur ne peut pas accéder à la session d'un autre utilisateur). Vous pouvez modifier ce comportement pour définir les données de session à stocker dans d'autres emplacements tels qu'une base de données SQL Server ou un serveur d'état en utilisant, dans le fichier de configuration, l'élément. Cela étant, les webfarms ont un problème avec le stockage de session InProc, donc dans ce cas SQL ou StateServer peut le résoudre.

Référez-vous à http://msdn.microsoft.com/en-us/library/ms972429.aspx pour plus d'informations.

Questions connexes