begin process at 2012 05 27 18:36:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Web 2.0

 > 

Ajax

 > 

AutoCompleteExtender : Plusieurs usercontrol dans une page


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AutoCompleteExtender : Plusieurs usercontrol dans une page

jeudi 25 septembre 2008 à 10:20:46 | AutoCompleteExtender : Plusieurs usercontrol dans une page

OLCHTEAM

Bonjour,

J'ai créé un WebUserControl contenant un textbox et un composant ajaxToolkit:AutoCompleteExtender.
Le WebUserControl fonctionne tres bien en utilisation seul. Il fonctionne aussi tres bien en edition dans un GridView.
Mais j'ai un problème lorsque je veut afficher plusieur fois le WebUserControl.

Le premier conflis a été une erreur javascript indiquant la presence sur la meme pages de deux id identique.
Pour contourner ce probleme je redefinis dans chaque WebUserControl la valeur de la propriété "BehaviorID".

Il n'y a alors plus d'erreur qui s'affiche lors de l'execution des composants en l'absence des animations presentent dans mon composant ajaxToolkit:AutoCompleteExtender.
En effet les animations recherche le composant selon le "BehaviorID" et celui-ci est defini en dur dans le code.

Mais la valeur récupéré dans le champs "HiddenFieldIdPointRemarquable" par la methode "AutoCompleteExtenderPointRemarquable_ClientItemSelected" lors de la selection d'un item dans le premier WebUserControl se retrouve automatiquement dans le deuxieme.

La valeur "HiddenFieldIdPointRemarquable.ClientID" semblant etre la meme pour les deux WebUserControls.

Donc je recherche une solution pour gerer plusieurs instances d'un meme WebUserControl, contenant un composant ajax, dans une page aspx.

Merci
jeudi 25 septembre 2008 à 10:26:13 | Re : AutoCompleteExtender : Plusieurs usercontrol dans une page

OLCHTEAM

J'ai oublié de vous fournir mon code :

<
asp : TextBox ID ="TextBoxPointRemarquable" runat ="server" autocomplete ="off" SkinID ="skinLibelleLong" ToolTip =" <%$ Resources:POINT_REMARQUABLE_TOOLTIP %> "></ asp : TextBox >

<

ajaxToolkit : AutoCompleteExtender ID ="AutoCompleteExtenderPointRemarquable"

runat ="server"

BehaviorID ="AutoCompleteEx"

TargetControlID ="TextBoxPointRemarquable"

ServiceMethod ="GetListePointRemarquable"

ServicePath ="~/WebServices/PointRemarquableWS.asmx"

CompletionInterval ="20"

MinimumPrefixLength ="2"

EnableCaching ="true"

CompletionSetCount ="12"

UseContextKey ="True" SkinID ="green"

OnClientItemSelected ="AutoCompleteExtenderPointRemarquable_ClientItemSelected">

<%

-- <Animations>

<OnShow>

<Sequence>

<OpacityAction Opacity="0" />

<HideAction Visible="true" />

<ScriptAction Script="

// Cache the size and setup the initial size

var behavior = $find('AutoCompleteEx');

if (!behavior._height) {

var target = behavior.get_completionList();

behavior._height = target.offsetHeight - 2;

target.style.height = '0px';

}" />

<Parallel Duration=".4">

<FadeIn />

<Length PropertyKey="height" StartValue="0" EndValueScript="$find('AutoCompleteEx')._height" />

</Parallel>

</Sequence>

</OnShow>

<OnHide>

<Parallel Duration=".4">

<FadeOut />

<Length PropertyKey="height" StartValueScript="$find('AutoCompleteEx')._height" EndValue="0" />

</Parallel>

</OnHide></Animations>

--

%>

</ ajaxToolkit : AutoCompleteExtender >

<

script type ="text/javascript">

$addHandler($get(

'<%=TextBoxPointRemarquable.ClientID%>' ), 'keypress' , function (){

$get(

'<%=HiddenFieldIdPointRemarquable.ClientID %>' ).value = '' ;

});

$addHandler($get(

'<%=TextBoxPointRemarquable.ClientID%>' ), 'keydown' , function (sender, e){

var keycode;

if (window. event ) keycode = window. event .keyCode;

else if (e) keycode = e.which;

if (keycode != 13 && keycode != 9)

{

$get(

'<%=HiddenFieldIdPointRemarquable.ClientID %>' ).value = '' ;

}

});

var AutoCompleteExtenderPointRemarquable_ClientItemSelected = function (sender, e){

$get(

'<%=HiddenFieldIdPointRemarquable.ClientID %>' ).value = e.get_value();

}

</

script >

<

asp : HiddenField ID ="HiddenFieldIdPointRemarquable" runat ="server" />

<

asp : HiddenField ID ="HiddenFieldBehaviorID" runat ="server" />
jeudi 25 septembre 2008 à 17:50:31 | Re : AutoCompleteExtender : Plusieurs usercontrol dans une page

OLCHTEAM

Pour le probleme de valeur mal récupéré je viens de trouver une solution. (ce n'est pas un problème de ClientID)
Le problème viens du faite que la fonction appelé par "OnClientItemSelected" est la meme sur les différents WebuserControl ("AutoCompleteExtenderPointRemarquable_ClientItemSelected")

Afin de remedier a ce problème j'ai rajouté une partie dynamique au nom de ma fonction dans sa définition :
[CODE]    var AutoCompleteExtenderPointRemarquable_ClientItemSelected<%=TextBoxPointRemarquable.ClientID %> = function(sender, e){
        $get('<%=HiddenFieldIdPointRemarquable.ClientID %>').value = e.get_value();
    }
[/CODE]

et lors du load de mon control je renome la fonction appelé de la meme facon :
[CODE]    protected void Page_Load(object sender, EventArgs e)
    {
        AutoCompleteExtenderPointRemarquable.OnClientItemSelected = "AutoCompleteExtenderPointRemarquable_ClientItemSelected" + TextBoxPointRemarquable.ClientID;
    }
[/CODE]

Maintenant j'ai les bonnes valeurs dans chaque composant... reste le problème de l'animation et de la presence en dur du behaviorID que je n'arrive pas a mettre en dynamique...
Avez vous des pistes de reflexions?



Cette discussion est classée dans : page, composant, valeur, webusercontrol, autocompleteextender


Répondre à ce message

Sujets en rapport avec ce message

Problème de WebUserControl Dynamique [ par skyaero ] Bonjour,Dans ma page Default.aspx, j'ajoute dynamiquement un WebUserControl par le code suivant situé dans le Page_Init de ma page Default.aspx :ontro authentification ASP.NET avec composant Login [ par morpheus81fr ] Bonjour,Dans le cadre de la création d'un site web sécurisé en ASP.NET avec VB.NET, je souhaite que les internautes se connectent sur la première page integrer un composant word dans une page web [ par juguinfo ] je veux realiser avec asp.net, une page web,dans laquelle je vais integrer un composant word dans lequel on peut ecrire les messages. exactement comme La premiere valeur d'une DropDownList ? [ par kiraqi ] Salut, Comment pourrai-je attribuer la premier valeur (d'un requête) à une dropdownlist au chargement de la page ASP.Net ? je fais :<span style="fon utilisation d'un WebUserControl [ par tortuedu74 ] Bonjour à tous.J'ai besoin d'un petit coup de main:je code un intranet en aspx et vb.net avec Visual Studio 2008.J'ai une page aspx et une page aspx.v Recuperer une valeur d'un texte box [ par wally88 ] Bonjour, je suis en asp.net 2 avec une master page.Dans une des page de contenu je veux faire du javascript.Mais je ne recuperer la valeur d'une textb Retourner une valeur a partir d'un popup [ par foufidou ] Bonjour tout le monde,sur ma page,j'ai un bouton qui doit lancer un popup, ce popup contien une listebox qui remplie a partir de ma bd...tout ca et be Problème de repositionnement de page lorsque je selectionne une valeur dans une liste [ par dj_Unknown ] Bonjour,j'ai une page web dans lequel j'ai plusieurs users controls. (lables, dropdownlists, richtext, etc...)J'ai un problème assez génant c'est que Perte de valeur issue de la masterpage [ par gabiset ] Bonjour,J'utilise une masterpage dans laquelle j'ai un textbox, puis j'ai plusieurs pages qui héritent de cette masterpage.Si je saisis une valeur dan


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales