2009-01-27 9 views
0

Dites que j'ai un contenu "par défaut" sur le côté gauche de mon application, qui est inclus dans une page d'en-tête: une boîte de recherche et une boîte de connexion. Si l'utilisateur est sur la page de recherche, je souhaite également ajouter une liste de filtres de recherche (par exemple, marque, prix) sur le côté gauche de la page. dans ce cas, le côté gauche doit accéder aux paramètres donnés à la recherche (par exemple, la recherche par mot clé pour "chaise en cuir noir"); Je construis une requête assez complexe sur la page de recherche, search.asp, et je préfère ne pas avoir à le dupliquer avec une sorte d'instruction géante If..Then sur la page de contenu gauche aussi.Puis-je remplacer le contenu d'un ASP (Classic) include?

Y at-il un moyen de le faire et "ajouter" du contenu supplémentaire à un fichier qui a déjà été inclus dans la page? Fondamentalement quelque chose comme content_for dans Ruby on Rails, où je peux dire sur cette page, ajouter ces choses au nœud <div id="left">. Je ne suis pas vraiment un expert sur ASP classique (et je préfère ne pas l'utiliser, à vrai dire) mais mon patron veut des filtres sur le côté gauche de la page seulement pour la page de recherche, avec les boîtes de connexion/recherche (qui apparaissent également sur toutes les pages) et je ne suis pas sûr de savoir comment le gérer sans avoir à restructurer la page entière.

Répondre

0

En ASP, vous pouvez saisir le chemin en cours et le fichier avec ceci:

pagePath = Request.ServerVariables("PATH_INFO") 

Vous pouvez diviser la chaîne, saisir le dernier élément. Ainsi, un cas de sélection et cracher sur le contenu approprié en fonction du nom du fichier:

select case pageName 

case "search.asp" 
    ... 
case "products.asp" 
    ... 
case else 
    ... 
end select 
0

Vous pouvez facilement configurer un div sur le côté gauche avec le contenu que vous voulez, puis basculer la visibilité de la DIV en utilisant le javascript côté client.

Votre javascript pourrait vérifier l'emplacement actuel et s'il se trouve dans une liste de pages pour lesquelles il veut afficher la section (au cas où vous construisez une autre page de recherche), basculez la visibilité sur true.

Si vous préférez ne pas afficher le code HTML sur le côté gauche, vous pouvez écrire dynamiquement le code HTML dans DIV en utilisant Javascript. Alternativement, vous pouvez configurer un DIV dans votre page de recherche et utiliser CSS pour l'aligner à gauche de la page.

0

Tous comprennent peut utiliser des variables collectées dans les fonctions précédentes. Par exemple, si vous récupérez vos mots-clés de recherche avant toute autre chose, vous pouvez mettre à jour les valeurs dans tout code apparaissant plus tard, même dans les fichiers include car ceux-ci sont après tout plus de code inclus dans l'ensemble de la page. il a été inclus dans un encart car il peut être commun à d'autres pages.

Vous pouvez également exécuter des fonctions pour traiter ces variables, par exemple rechercher des résultats associés.