Bonjour

J'ai crée un contrôle utilisateur que j'ai appelé my:UserInfo. Ce contrôle possède trois propriétés : Image, ScreenName et Biography.

Je l'utilise dans un webform comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 <div id="userInfos">
            <my:UserInfo runat="server" ID="userInfo" />
        </div>

Le code du contrôle est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserInfo.ascx.cs" Inherits="UserInfo" %>
<div id="userInfoAvatarBox">
    <img src="<%# Image %>" />
</div>
<div id="userTag">
    <%# ScreenName %>
</div>
 
<div id="userBio">
    <label>Bio: </label> &nbsp <%# Biography %>
</div>
J'essaie de charger ses propriétés dans le Page_Load de mon webform avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Users user = (Users)this.Session["user"];
        this.userInfo.Image = user.avatar;
        this.userInfo.ScreenName = user.screenName;
        this.userInfo.Biography = user.bio;
Le problème c'est qu'une fois la page chargée, le contrôle n'affiche pas les valeurs =( En mode Debug, j'ai vérifié que les propriétés sont bien paramétrées avec des valeurs qui ne sont pas vides. Mais ensuite rien ne s'affiche.

Auriez-vous une solution?

Dans le cas contraire, est-ce qu'il serait possible de faire un binding des propriétés de mon objet User qui se trouve en session avec les propriétés du contrôle utilisateur directement dans le fichier aspx de mon webform?

Quelque chose du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<my:UserInfo runat="server" ID="UserInfo" Image="<%= ((User)Session['user']).avatar%> ... />
Je n'ai pas trouvé de syntaxe qui fonctionne = (

Merci par avance