2011-10-19 2 views
1

La pièce suivante de code fonctionne correctement:MVC 3 Razor Voir le moteur Mise en forme

<span class="dysiChannelSubscription"> 
@if (Model.ChannelName == "ninacopes") 
{ 
    <iframe allowtransparency="true" frameborder="0" scrolling="no" style="width:200px; height:20px;" 
     src="//platform.twitter.com/widgets/follow_button.html?show_count=false&[email protected]"> 
    </iframe> 
} 
</span> 

Cependant, si je change le cas pour:

@if (Model.ChannelType == Fluent.Data.Enums.ChannelTypeEnum.Twitter) 

Il ne rend pas plus. Ceci est dans une vue partielle.

rendements jQuery:

erreur de syntaxe
<!DOCTYPE html>

Je n'ai aucune idée pourquoi. Model.ChannelType est de ce type, et je reçois la valeur Twitter uniquement de intellisense, ce qui me fait me demander pourquoi cela casse du tout.

Répondre

2

Si les deux côtés sont des chaînes, vous pouvez essayer .ToString() comme ci-dessous.

@if (Model.ChannelType == Fluent.Data.Enums.ChannelTypeEnum.Twitter.ToString()) 

Si les deux côtés sont Integer alors vous pouvez essayer

@if (Model.ChannelType == (int)Fluent.Data.Enums.ChannelTypeEnum.Twitter) 
0

Essayez-vous de comparer le type du modèle? Ne devrait-il pas y avoir quelque chose comme: TypeOf(Model.ChannelType)?

+0

quoi? 'ChannelType' est une énumération de type' ChannelTypeEnum' – bevacqua