2009-09-15 7 views
1

Y at-il une version plus courte de ce qui suit:courte main instruction if

En utilisant ASP.NET MVC, cela est dans la page HTML

<%= IsTrue ? Html.Image("~/images/myimage.gif") : "" %> 

Je sais que je n'écrire vraiment 3 caractères supplémentaires , je me demandais juste s'il y avait quelque chose de mieux.

+0

Qu'est-ce que vous essayez de raccourcir à? –

Répondre

6

Non, pas? L'opérateur est lui-même un raccourci pour l'instruction if else.

+5

L'opérateur conditionnel ne peut être utilisé que comme une expression, alors que 'if' est évidemment une déclaration. L'un n'est pas court pour l'autre car ils sont conceptuellement différents. – Thorarin

1

Pas pour le cas que vous avez décrit.

Si vous faites un chèque nul sur A vous pouvez écrire var b = A ?? string.Empty;

Bonté,

Dan

+0

Celui-ci est pratique lors du passage du modèle à un typage fortement typé car si null est fourni - le modèle reçoit automagiquement le modèle de la vue. –

8

Il pourrait être acceptable pour créer aide html:

public static string ImageIf(this HtmlHelper helper, condition, url){ 
    return condition ? helper.Image(url) : ""; 
} 
utilisation

:

<%= Html.ImageIf(IsTrue, "~/images/myimage.gif") %> 
Questions connexes