限制网格视图边界字段中显示的字符数
本文关键字:显示 字符 字段 网格 视图 边界 | 更新日期: 2023-09-27 18:08:38
我有一个显示用户姓名、主题和日期的gridview。.aspx代码看起来像这样:
<asp:BoundField DataField="UserName"
SortExpression="UserName" />
<asp:BoundField DataField="Subject"
SortExpression="Subject" />
<asp:BoundField DataField="Date"
SortExpression="Date" />
如果用户输入的主题有200个字符,我不希望它全部显示出来,否则页面会像疯了一样拉长。有没有办法检查一下,如果主题超过60个字符,剩下的就去掉,然后……只是附加的?所以主语会说:
这是一个非常非常长的主题
这是一个真正的....
我知道如何在c#代码中做到这一点,但不确定如何在。aspx
试试这个:
<asp:TemplateField>
<ItemTemplate>
<%# ((string)Eval("Subject")).Length < 200? Eval("Subject") :((string)Eval("Subject")).Substring(0,200) + "..."%>)
</ItemTemplate>
</asp:TemplateField>
或者(并且更干净),您可以(如果可能的话)向数据源项类添加一个属性,并以正常方式使用该属性。假设,您的数据源项目类是UserMail
;然后添加一个公共属性,比如TruncatedSubject
:
partial class UserMail
{
public string TruncatedSubject
{
get
{
return Subject.Length < 200? Subject : (Subject.SubString(0,200) + " ...");
}
}
}
那么你可以使用它(TruncatedSubject
代替Subject
)像一个正常的BoundField
列。