Bonjour tout le monde

Je souhaite afficher dans ma gridview les informations de ma liste.

J'ai un objet A qui est relier avec un objetB

exemple
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
16
17
18
19
20
21
22
23
 
public class A
{
    public A()
    {
 
    }
 
    private long id;
 
    public virtual long Id
    {
        get { return id; }
        set { id = value; }
    }
 
    private B b;
 
    public B b
    {
        get { return b; }
        set { b = value; }
    }
J'ai une liste qui contient des objets de type A.

Ma liste s'affiche très bien lorsque l'objet B ne pointe pas à null, mais dès qu'il pointe à null, ca me génère une exception, par conséquent je veut faire un test pour savoir si l'objet point ou non à null, car il est possible que l'objet B pointe à null

Voici mon code actuel:
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
 
 
 <asp:GridView ID="GridView1" runat="server" Style="border-color: black; left: 102px;
                position: absolute; top: 258px; z-index: 109; width: 434px;" CellPadding="4"
                ForeColor="#333333" GridLines="Vertical" AutoGenerateColumns="False" EnableTheming="True"
                BorderColor="Black" BorderWidth="1px" OnRowDataBound="GridView1_RowDataBound1">
                <RowStyle BorderColor="Black" BorderWidth="1px" />
                <Columns>
 
                    <asp:TemplateField HeaderText="Valeur objet B">
                        <ItemTemplate>
                            <%# ((A)Container.DataItem).B.Valeur %>
                        </ItemTemplate>
                    </asp:TemplateField>
              </Columns>
J'ai testé ceci :
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
 
<Columns>
 
                    <asp:TemplateField HeaderText="Valeur objet B">
                        <ItemTemplate>
 
                            <%# 
                   if  (((A)Container.DataItem).B!=null)
              {
                        ((A)Container.DataItem).B.Valeur 
              }
                          %>
                        </ItemTemplate>
                    </asp:TemplateField>
              </Columns>
Mais ceci ne fonctionne, il ne compile pas, il ne veut pas de if.

Je vous remercie de votre aide