2009-10-20 8 views
0

Je sais comment passer des valeurs entre des pages asp.net si c'est sur le même virtuel mais qu'en est-il de j'ai des sites sur différents virtuel? serait-il possible?ASP.NET Passer des valeurs dans un chemin virtuel séparé

dire que j'ai cette site1

localhost/Recherche/Search.aspx

alors je cette site2 qui traite le résultat de site1

localhost/Résultat/result.aspx -> avis c'est sur différent virtuel à site1

maintenant comment je passerais les résultats du site de recherche au site de résultat.

est-ce que cela serait possible?

Répondre

0

Le contrôle Web de bouton ASP.NET possède un PostBackUrl. Vous pouvez l'utiliser pour que le message de search.aspx soit envoyé à result.aspx.

+0

ce n'est pas ce que je voulais dire, je ne dis pas comment faire rediriger, mais plutôt la façon de passer une valeur ou d'un objet lors d'une redirection/transfert. – Juvil

0

Oui, vous pouvez publier sur une page de votre application virtuelle en définissant la propriété PostBackUrl de votre bouton de recherche, puis accéder aux valeurs de contrôle envoyées à partir de la page via Page.PreviousPage.

+0

hmm ... peut-être que je ne l'explique pas bien, car vous pouvez voir que site1 et site2 ont un chemin virtuel différent, ce qui signifie que Page.PreviousPage ne fonctionne pas du tout, ou peut-être que je me trompe. – Juvil

0

1) Approche par chaîne querscente. Construire un lien comme ceci: -

Pick it up dans votre code-behind avec (C#): -

Request.QueryString["q"] 

2) ou POST variables via un formulaire.

Dans votre page de recherche: -

<form action="/result/result.aspx" method="post"> 
    <input name="searchTerm" id="searchTerm" type="text" /> 
    <input name="go" type="submit" /> 
</form> 

Notez l'absence d'une étiquette runat="server" sur le formulaire.

Ramassez le code-behind de vos résultats page: -

Request.Form["searchTerm"] 
+0

ne serait-il pas vulnérable à XSS? à côté d'im essayant de transmettre un résultat sous la forme d'un objet, je n'aime pas non plus le passer en XML. avez-vous d'autres moyens? – Juvil

+0

Votre but est de passer un terme de recherche d'une page dans un répertoire virtuel pour être traité par une page dans un autre répertoire virtuel, n'est-ce pas? Tout ce que j'ai suggéré ici, c'est que vous utilisez les GET et les POST de base pour transmettre cette information. Tout ce que vous passez ici est du texte. –

+0

Ah ok, grattez ça. Vous voulez réellement transmettre des résultats? J'ai pris trop de stock dans "alors j'ai ce site2 qui traite le résultat du site1". Pourquoi traitez-vous les résultats sur votre formulaire de recherche initial? Ne pouvez-vous pas le faire sur la page de résultats, où de telles choses seraient logiquement assis? –

Questions connexes