Bonjour tout le monde.

Là, je suis confronté à un souci d'accés. Je dois me gourrer de pas grand chose, mais je suis paumé ! Je vais essayer de présenter la chose de la manière la plus simple, mais le système est complexe par lui même. Je vais mettre des morceaux de code en espérant pas trop sabrer tout en essayant de ne pas trop tartiner.

D'abord la page côté HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage/Generale.master" AutoEventWireup="false" CodeFile="DetailGig.aspx.vb" Inherits="Navigation_DetailGig" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="cphHead" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cphEntete" Runat="Server">
    <Composite:MenuNav ID="menu" runat="server" />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="cphGauche" Runat="Server">
    <Composite:DetailGig ID="DetailGig" runat="server" />
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="cphCentral" Runat="Server">
    <Composite:ListeCategorieGig ID="listeCateg" runat="server" />
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="cphPied" Runat="Server">
</asp:Content>
Elle est liée à une MasterPage, donc trés classique. Je n'ai pas de CodeBehind.

Ensuite, dans le composant utilisateur MenuNav j'ai ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<ajax:UpdatePanel ID="upSing" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
    <Triggers>
        <ajax:AsyncPostBackTrigger ControlID="lbSign" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <div id="divFondSign" runat="server" style="display:none;" class="FondOpaque">
        <div id="divDevantSign" class="DivSignIn">
        <asp:LinkButton ID="lbCloseLogin" runat="server" Text="Close"></asp:LinkButton>
        <asp:Login ID="logC" runat="server" ></asp:Login>
        </div>
        </div>
    </ContentTemplate>
</ajax:UpdatePanel>
Ce code permet d'avoir un lien en haut de page pour se loguer. Si on clique, la page devient opaque et une mire de connexion apparait. On entre ce qu'il faut et on est connecté.

Et dans le composant DetailGig j'ai un lien sous cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<asp:LinkButton ID="lbContact" runat="server"></asp:LinkButton>
Et le CodeBehind suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
    Protected Sub lbContact_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbContact.Click
        If Profile.IsAnonymous Then
            Dim div As HtmlControls.HtmlControl = Page.FindControl("divFondSign")
            div.Style("Display") = "Block"
        Else
            Response.Redirect("~/Navigation/Contact.aspx?id=" & IdGig)
        End If
    End Sub
L'idée est de tester si l'utilisateur est connecté ou pas avant de pouvoir faire un contact à un aute utilisateur.

Mon souci arrive sur la ligne où je tente un accès au Div et le serveur me dit :
La référence d'objet n'est pas définie à une instance d'un objet.
Ce que je peux comprendre. Sauf que je ne trouve pas le moyen de pointer vers le Div qui se trouve dans le composant MenuNav.
En gros, de ce que j'ai compris de mes investigations, c'est dans l'arborescence des contrôles que je me paume, mais quel est le bon chemin ?

Voilà, si vous pouvez m'aider, c'est cool.