Comment puis-je limiter le nombre de caractères à afficher pour html.encode?sous-chaîne sur html.encode
<%= Html.Encode(item.LastName.Substring(1,30))%>
erreur: index et la longueur doit se référer à un emplacement dans la chaîne.
Comment puis-je limiter le nombre de caractères à afficher pour html.encode?sous-chaîne sur html.encode
<%= Html.Encode(item.LastName.Substring(1,30))%>
erreur: index et la longueur doit se référer à un emplacement dans la chaîne.
Vous devez vérifier la longueur des chaînes est supérieure à 30, sinon vous spécifiez une longueur qui tombera à la fin de la chaîne ... (J'ai également changé votre index de départ à 0 en supposant que vous n'avez pas dire de quitter le premier caractère)
<%= Html.Encode(item.LastName.Substring(0,
item.LastName.Length > 30 ? 30 : item.LastName.Length))%>
Vous manque une parenthèse fermante. ;) –
Merci, corrigé .. –
<%= Html.Encode(item.LastName.Substring(0, item.LastName.Length > 30 ? 30 : item.LastName.Length))%>
Si vous voulez vérifier null, faites ceci:
<%= Html.Encode(
item.LastName == null ? string.Empty :
item.LastName.Substring(0, item.LastName.Length > 30 ? 30 : item.LastName.Length))%>
Les index sont basés sur 0, tandis que .Length est basé sur 1. > = ne fonctionnera pas dans ce cas. Utilisez> à la place. –
Ah, oui. Je vous remercie. Fixé. –
Merci les gens pour toutes les réponses. Pardonnez-moi mais que faire si la chaîne est nulle? – dmarkez
vous pouvez aussi faire quelque chose comme
<%= Html.Encode(item.LastName.Substring(0, Math.Min(item.LastName.Length, 30)) %>
pour sauver quelques octets
Nous sommes surligneurs pas de syntaxe automatique pour déterminer quelle langue est-il – kolypto