En faite stephane j'aurai pas du te répondre TOUT , car le web.config ca va , c'est la partie que je maitrise la mieux.
et ton exemple de dataList j'ai pas compris pk tu me parlais de ca.
Pour que tu situ mieux ce que je demande on va prendre un exemple concret de mon probleme de la maintenant tout de suite.
Aujourd'hui je viens de comprendre la pseudo différence entre : un dataGrid , Un Gridview , un DataList , un repeater.
Ce que j'en ai compris , c'est que finalement tout ces trucs servent un peu a la meme chose , avec des différences plus ou moins importante, mais surtout peuvent être des objets dépassé e nfocntion de la version ASP.net.
Le datagrid etait par exemple un truc de ASP.net version 1.1 .. on prefererai utiliser maintenant le GridView fournit avec la version 2.0. le dataList etant un peu la meme chose mais en se serveur d'un fichier modele pour mettre en forme les données a l'affichage ( tu me corrige si je me trompe ? )
Le data list c'est trop compliqué pour mes besoins , qui plus est , je developpe pas du tout avec un outils genre Visual studio, et j'ai pas du tout envie de m'y mettre pour le moment. Alors ca sera bloc note pour tout le monde ( bon ok , j'utilise quand meme dreamweaver en faite )
mon probleme actuel donc c'est :
j'ai un repeater, dans lequel je vais avoir un autre repeater.
Code:
<asp:Repeater id="rp_ListeMenu" runat="server" OnItemCreated="ChargerListePage"> '<======= REPEATER 1
<HeaderTemplate>....code html ... osef</HeaderTemplate>
<ItemTemplate>
<asp:Label id="la_NomDossier" runat="server" text='<%#Container.DataItem("NomDossier")%>' /></td>
<asp:Repeater id="rp_listefichier" runat="server"> '<======= REPEATER 2
<headertemplate>......</headertemplate>
<itemtemplate>
<%#Container.DataItem("Actif")%>
<%#Container.DataItem("NomFichier")%
</itemtemplate>
<footertemplate>......</footertemplate>
</asp:Repeater>
</ItemTemplate>
<FooterTemplate>........</FooterTemplate>
</asp:Repeater>
voila la base du code dans la page d'affichage. le repeater ce charge tres bine .. ca fait ce que je veux.
L'attribut OnItemCreated="ChargerListePage" va donc appeler a chaque chargement d'item du repeater 1 la fonction "ChargerListePage" qui est donc dans mon code behind, dans lequel je vais lui dire de charger le repeater 2.
mais pour charger le repeater2 je vais d'abord charger donné qui sont fonction de la ligne, donc je doit récupérer "quelques chose " ( ici le nom du dossier ) qui va me permetre de charger le bon truc. c'est la que ca coince pour moi ... je n'arriva pas a comprendre ce qu'on va trouver dans le "e" de RepeaterIemEventArgs.
Je sais qu'il y a une collection Item, mais derriere ? comment je retrouve par exemple le contenue du label "la_NomDossier" qui est sur la meme ligne ? a chaque fois que j'ai eu affaire a ce genre de truc , c'est toujours un bout de code bien particulier qui allait chercher la donnée .. c'est ca qui me manque ... c'est le bordel total, je trouve aucune info qui me fait comprendre ce que j'ai la dedans , et comment les utilisers.
Alors la je me contente d'ecrire dans un label pour debuguer par exemple , les 2 premier ligne etant plus ou moins ce que je veux faire , mais mal coder ( erreur de syntaxe )
Code:
PROTECTED SUB ChargerListePage(sender as object, e as RepeaterItemEventArgs)
'CTYPE(e.Item.FindControl("rp_listefichier"), Repeater).DataSource=ListePage(CTYPE(e.Item.FindControl("la_NomDossier"), Label).text)
'CTYPE(e.Item.FindControl("rp_listefichier"), Repeater).DataBind()
Infodebug.Text &=e.Item.FindControl("le_NomDossier").ToString & "<br>"
END SUB
le find controle me ramene une jolie erreur :
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
alors que dans l'exemple que j'ai chopper en C# c'est pas beacoup plus compliquer :
Code:
protected void ProcessusCreated(object sender, RepeaterItemEventArgs e)
{
(e.Item.FindControl("rptDocuments") as Repeater).DataSource = new Databases().OracleGetDataTableOfTable("PROCESSUS", (e.Item.DataItem as DataRowView)["PROCESSUS_ID"].ToString(), "NOM");
(e.Item.FindControl("rptDocuments") as Repeater).DataBind();
}
alors donc voila , ma methode n'est pas mauvaise , c'est justqe que je comprend pas l'ogranisation des données dans un EventArgs , qu'on y a souvent affaire; et que je trouve pas de site qui en parle une bonne fois pour toute .. et le MDSN de Microsoft est aussi assez flou la dessus. on a l'impréssion que c'est censé etre une truc facile et evident .....
moi besoin info la dessus

.
meme si le reste te semble pas la bonne façon de faire ... on va garder cette façon .. on verra plus tard si vaux mieux utilisé un DataList ... ca change pas le probleme actuel
