在我的MVC 2应用程序中,我有一个列表框
<%: Html.ListBoxFor(m => m.SelectedQuestionIds[cnt1], Model.QuestionList, new { @class = "list_style" })%>
我使用“list_style”样式限制了我的列表框宽度。
我的问题是我的列表框中的某些项目的长度大于我的列表框宽度。 如果长度太长,我需要用“...”限制显示项目的长度。 所以我的文字将是'你好吗......' 因为“你好,亲爱的朋友,你好吗!” 谢谢, 问候
答案 0 :(得分:1)
你应该把它放在一个扩展方法中,比如
public static class StringExtensions {
public static string TrimLength(this String text, int length) {
if (text != null && text.Length > length) {
return text.Substring(0, length - 1);
}
return text;
}
public static string TrimLengthWithEllipsis(this String text, int length) {
if (text != null) {
return TrimLength(text, length) + "...";
}
return text;
}
}
然后你可以使用
model.QuestionList = from question in model.Questions
select new SelectListItem
{
Text=question.QuestionDescription.TrimLengthWithEllipses(48),
Value=question.QuestionID.ToString()
};
更清洁,更可重复使用。
答案 1 :(得分:0)
idid this:
model.QuestionList = from question in model.Questions
select new SelectListItem
{
Text=question.QuestionDescription.Length>48?question.QuestionDescription.Substring(0,47)+" ...":question.QuestionDescription,
Value=question.QuestionID.ToString()
};
答案 2 :(得分:0)