0

ユーザーの名前、件名、および日付を表示するグリッドビューがあります。.aspx コードは次のようになります。

      <asp:BoundField DataField="UserName" 
            SortExpression="UserName" />
        <asp:BoundField DataField="Subject" 
            SortExpression="Subject" />
        <asp:BoundField DataField="Date" 
            SortExpression="Date" />

ユーザーが200文字の件名を入力した場合、すべてを表示したくありません。そうしないと、ページが狂ったように引き伸ばされます。件名が 60 文字を超える場合、残りを削除して ... を追加するようにチェックする方法はありますか? したがって、件名は次のようになります。

これは非常に長いテーマです。

これはマジで……。

C# のコード ビハインドでそれを行う方法は知っていますが、.aspx でそれを操作する方法がわかりません

4

1 に答える 1

4

これを試して:

<asp:TemplateField>
    <ItemTemplate>
        <%# ((string)Eval("Subject")).Length < 200? Eval("Subject") :((string)Eval("Subject")).Substring(0,200) + "..."%>)
    </ItemTemplate>
</asp:TemplateField>

別の方法として (よりクリーンに)、(可能であれば) プロパティをデータソース item-class に追加し、そのプロパティを通常の方法で使用することもできます。たとえば、データ ソースのアイテム クラスはUserMail; TruncatedSubject次に、パブリック プロパティを次のように追加します。

partial class UserMail
{        
    public string TruncatedSubject
    {
       get
       {
           return Subject.Length < 200? Subject : (Subject.SubString(0,200) + " ...");
       }
    }        
}

次に、通常の列のように(TruncatedSubjectの代わりに)使用できます。SubjectBoundField

于 2013-04-11T01:36:55.793 に答える