2009-09-08 8 views
1

Bonjour, j'ai besoin d'aide et je ne sais pas comment faire.Passer la valeur à la deuxième page (créer & passer var)

J'ai 2 pages apsx: 1 page aspx appelle la page 2 aspx.

Mais maintenant dans la page 2 j'ai une zone de texte avec un btn pour rediriger vers une page d'URL en passant la valeur de la zone de texte en tant que paramètre pour le rapport d'URL. Ce que je veux, c'est déplacer la zone de texte à la page et passer la valeur de la zone de texte d'une page à l'URL de 2 pages.

Page 1 page d'appel 2

TargetUrl="Page2.aspx" 

Page 2

<input type="text" text="Keyword" id="keyword" value=""> 
<IFRAME id="frame1" src="http://server&KEY = 'keyword'> 

S'il vous plaît fournir un code ou des exemples.

Cordialement

+0

Vous devriez fournir une meilleure description du scénario. Utilisez-vous .NET? PHP? Aucun? –

Répondre

1

Vous pouvez utiliser le QueryString:

//Page1.aspx 
Response.Redirect("Page2.aspx?txt=" + textbox.Text); 

//Page2.aspx 
String text = Request.QueryString["txt"]; 
0

Utilisez la propriété Page.PreviousPage pour accéder aux propriétés de Page1.

Quelque chose comme ceci:

string previousPageText = Page.PreviousPage.FindControl("textboxname").Text; 

Bien sûr, vous ajoutez les contrôles nécessaires que PagePrécédente est non nul et qui renvoie une référence FindControl.

Vous devez également noter que la propriété PreviousPage ne fonctionne que si vous effectuez des publications croisées sur plusieurs pages. Vous devez donc d'abord vérifier la propriété Page.IsCrossPagePostBack.

+0

Merci à tous Mais les pages apsx que je suis en train d'éditer sont au format html, je pense que vous vous référez toutes les deux à C#. Le code est au format HTML avec une extension de fichier aspx Veuillez aider! –

+0

Est-ce que vous codez des pages html avec l'extension asmx?Vous ne devriez pas le faire car cela forcerait asp.net à gérer vos requêtes au lieu de laisser IIS le faire lui-même. –

0

En suivi de vos commentaires sur vos pages HTML étant pur et non ASPX:

Vous devez utiliser javascript pour ce faire, pour HTML n'a pas de support pour votre scénario lui-même.

Dans votre première page, vous devez placer votre zone de texte à l'intérieur d'une balise de formulaire avec methd = "get" et target = "page2.aspx". Maintenant, lorsque vous soumettez ce formulaire, vous serez redirigé vers page2.aspx mais avec une chaîne de requête ajoutée.

Dans page2.aspx, vous devez ajouter une fonction javascript qui sera appelée lorsque la page est chargée, de préférence dans l'événement OnLoad du corps des pages. Dans cette fonction, vous pouvez accéder à parent.document.URL et extraire le mot-clé de la chaîne de requête, et enfin vous pouvez mettre à jour la source de l'IFrame pour utiliser votre mot-clé.

See here pour un exemple d'un plugin jQuery qui vous permet de lire les variables de chaîne de requête.

+0

Merci, C'est ce que je dois faire, mais ne peut pas sembler passer la valeur var avec le lien. page 2: Fonction populateFields() {document.getElementById ("txtkeyword"). Valeur = mot-clé; mais la page 1 ne transmet pas la valeur "test" au mot-clé S'il vous plaît aider –

+0

Êtes-vous sûr que c'est du pur HTML? La balise n'est pas valide html –

Questions connexes