2012-09-13 1 views
0

J'ai créé un affichage personnalisé Pour le gabarit qui sera utilisé principalement dans mon fichier d'index de sorte que lorsque les enregistrements sont affichés dans les listes, ils ne sont pas transformés en créature laide si certains enregistrements sont trop longue. J'ai essayé suivante:MVC3 Afficher les gabarits Truncate String

@model string 

@{ 
    string text = Html.Encode(Model??""); 
    if (text.Length >= 35) 
    { 
     text = text.Substring(0, 35)+"..."; 

    }  
    @Html.DisplayFor(model=>text) 
} 

Bien que cela fonctionne très bien pour les chaînes ayant une longueur de plus de 35 ou égale à, mais il ne fonctionne pas si la chaîne est inférieure à celle. J'ai essayé la déclaration else, mais ça ne marche pas non plus. Quelle est la bonne façon de faire cela?

Édition: Chaîne nulle. Dans le fichier de la page source, entre les deux il n'y a rien.

+0

Pouvez-vous être un peu plus précis? "mais ça ne marche pas" qu'est-ce que ça veut dire? Exception, résultat vide, etc? – nemesv

+0

Résultats vides, oui. Aucune exception ou erreur –

+0

Se pourrait-il que le modèle soit nul? – Jeff

Répondre

0

essayer ce pour le modèle

@model string 
@{ 
    string text = Html.Encode(Model ?? ""); 
    if (text.Length >= 35) 
    { 
     text = text.Substring(0, 35) + "..."; 
    }  
} 
@text