2009-03-24 7 views
4

Je suis à la recherche d'un moyen propre de gérer les références d'objets NULL dans la classe de modèle LINQ to SQL lorsqu'elles sont passées à une vue.ASP.Net MVC - Objets Null dans les vues

Exemple simple.

La TableA a un FK dans la TableB. La relation FK peut exister ou non pour n'importe quelle ligne de la TableA.

Mon classes LINQ to SQL expriment cette relation comme ClassA.ClassB.Property, mais dans certains cas, ClassA.ClassB est un objet nul en raison de la clé étrangère nulle

Je veux la liste ClassA.Property et ClassA. ClassB.Property dans une table dans une vue

jusqu'à présent, mon code de la vue ressemble

<td> 
    <% if ((classA.classB) != null) { %> 
     <%= Html.Encode(classA.classB.Property)%> 
    <% } %> 
</td> 

y at-il un moyen plus propre de le faire dans la vue?

J'ai essayé

<td> 
    <%= Html.Encode(classA.classB.Property ?? "")%> 
</td> 

Mais cela ne fonctionnera pas car la valeur null n'est pas « propriété » mais « ClassB ». Je suis un débutant à toute la chose MVC, mais la vue semble être le bon endroit pour faire le choix sur la façon de gérer l'affichage des valeurs nulles.

Répondre

5

<% = Html.Encode (classA.classB = null classA.classB.Property:? "")%>

+0

Mon ami oublié l'opérateur ternaire. Merci – Cephas

2

Prenez le code de formatage spécial et encapsuler dans une classe d'aide d'affichage dans votre projet permettre la réutilisation et améliorer la lisibilité.

Questions connexes