2009-05-07 5 views
3

Je cherche la manière la plus simple de faire apparaître une fenêtre de recherche modale au-dessus d'une application ASP.NET 3.5 pour rechercher des valeurs pour un champ. J'ai un écran pour les utilisateurs d'ajouter des cours; les utilisateurs doivent être en mesure de choisir un instructeur en cherchant des instructeurs dans un popup. Donc, le popup aurait une zone de texte et une grille avec des résultats; cliquer sur le bouton "choisir" dans un résultat remplira le champ de l'instructeur sur le formulaire d'appel.Fenêtre de recherche pop-up modale pour remplacer le contrôle déroulant ASP.NET

Quelle est la manière la plus simple d'y parvenir?

+0

cochez ma réponse, elle fait exactement ce que vous étiez en train de décrire – Omu

Répondre

1

Essayez d'utiliser jQuery dans un UserControl avec quelque chose comme le tutoriel de yensdesign.

Le UserControl que j'ai créé avec cette approche a donné à l'utilisateur la possibilité de définir ses préférences pour le site. J'ai trouvé avec cette approche qu'il était plus facile de contrôler l'interaction entre la fenêtre modale et la fenêtre d'appel que d'appeler une nouvelle fenêtre de navigateur contextuel. On ne doit pas non plus s'inquiéter des bloqueurs de popups qui gênent.

Est-ce utile ou cherchez-vous plus de détails?

+0

Donc, le popup n'est pas une fenêtre séparée; c'est un usercontrol intégré dans la page parente? – Caveatrob

+0

Oui, il s'agit d'un contrôle utilisateur masqué qui s'affiche sur la page, le cas échéant. C'est techniquement plus difficile que d'utiliser window.open. – Tom

0

Une approche très simple serait d'ajouter le javascript à votre page pour faire apparaître une nouvelle boîte de dialogue de la fenêtre du navigateur, quelque chose comme ceci:

function fnFieldSearch(searchURL) 
{ 
    var wndSearch = window.open(searchURL,"SearchPopup","toolbar=yes,width=600,height=400,directories=no,status=yes,scrollbars=yes,resizable=yes,menubar=no"); 
    wndSearch.focus(); 
} 

Sur la page de recherche modale, utilisez javascript pour envoyer la valeur de la recherche retour:

window.opener.document.FormName.ControlName.value = 'whatever'; 
Questions connexes