2009-09-27 7 views
1

Je souhaite envoyer une chaîne à une autre page nommée Reply.aspx à l'aide de QueryString.Envoyer des données via QueryString avec ASP.NET

j'ai écrit ce code sur la première page qui doit envoyer le texte à Reply.aspx:

protected void FReplybtn_Click(object sender, EventArgs e) 
{ 
    String s = "Reply.aspx?"; 
    s += "Subject=" + FSubjectlbl.Text.ToString(); 
    Response.Redirect(s); 
} 

J'ai écrit ce code sur la page Reply.aspx:

RSubjectlbl.Text += Request.QueryString["Subject"]; 

Mais cette approche ISN ne fonctionne pas correctement et ne montre pas le texte.

Que dois-je faire pour résoudre ce problème?

Merci

+0

ce code devrait fonctionner ... Quelle partie va mal? La redirection est-elle correcte? – ullmark

+0

oui c'est vrai !!! –

+0

Est-ce que ça montre quelque chose? Vous pouvez le htmlencode donc c'est un querystring valide. Ou vous pouvez le mettre en cache dans l'objet de session s'il est sur le même site. –

Répondre

0

c'est facile:

Première page:

string s = "~/ADMIN/Reply.aspx?"; 
s += "Subject=" + FSubjectlbl.Text; 
Response.Redirect(s); 

la page Deuxième:

RSubjectlbl.Text = Request.QueryString["Subject"]; 
0

Bien que votre code devrait fonctionner correctement, même si la chaîne source a des espaces, etc., il doit retourner quelque chose lorsque vous accédez à la chaîne de requête, s'il vous plaît essayer aussi:

protected void FReplybtn_Click(object sender, EventArgs e) 
{ 
    String s = Page.ResolveClientUrl("~/ADMIN/Reply.aspx"); 
    s += "?Subject=" + Server.UrlEncode(FSubjectlbl.Text.ToString()); 
    Response.Redirect(s); 
} 

EDIT: -

void Page_Load(object sender, EventArgs e) 
{ 
    if(Request.QueryString.HasKeys()) 
    { 
     if(!string.IsNullOrEmpty(Request.QueryString["Subject"])) 
     { 
      RSubjectlbl.Text += Server.UrlDecode(Request.QueryString["Subject"]); 
     } 
    } 
} 

PS: - Server.UrlEncode est également sollicité dans le commentaire à cette question.

Questions connexes