Мне не нравится много логики в моем представлении, и подобные вещи полезны во всем (не только в представлениях).
<option value="<%=order.ID %>"><%=order.Item.Truncate(10) %></option>
И метод усечения ...
public static class StringExtensions
{
public static string Truncate(this string value, int trim)
{
//Don't do anything if the value is null, empty, or doesn't meet our trim constraint
if (string.IsNullOrEmpty(value) || value.Length <= trim)
{
return value;
}
return string.Format("{0}...", value.Substring(0, trim));
}
}
Оговорка:
Я не обрезал длину многоточия. Если вы хотите, вы должны выполнить дополнительную проверку, чтобы убедиться, что (trim-3) больше нуля. Также вы должны посмотреть, учитывает ли длина обрезки длину строки. Я бы так и сделал, но мой мозг отключился на ночь!