繁体   English   中英

在ASP.NET中自定义ListView控件

[英]Customizing ListView control in ASP.NET

我在ASP.NET中使用ListView控件从数据库中检索数据。 我研究了ListView控件的Web表单代码,发现它基本上可以使标签显示从数据库中检索到的数据。 我不知道如何操作标签。 我可以轻松更改标签的字体颜色,但是如果标签的长度超过10个而没有使用C#代码,则无法使标签截断并显示“(..more)”。 (我在.cs页中找不到标签。)无论如何,我是否可以操纵ListView控件自动生成的标签的C#代码? 请让我知道。 提前致谢!

下面是我在C#中的ListView控件

<asp:ListView ID="Posts" runat="server" DataSourceID="SqlDataSource1">
        <ItemTemplate>
            <span>
            <asp:Label ID="subjectLabel" runat="server" Font-Bold="True" Font-Size="Large" Text='<%# Eval("subject") %>' />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <asp:Label ID="contentsLabel" runat="server" Font-Size="Small" ForeColor="#666699" Text='<%# Eval("contents") %>' />
            <br />
            <br /></span>
        </ItemTemplate>

如果您确实想避免在代码中执行此操作,则始终可以在提供数据的SQL中执行此操作:

SELECT CASE WHEN Len(contents) > 10 THEN Left(contents, 10) + '...' ELSE contents END FROM YourTable WHERE whatever

但是,如果您不想使用后台代码,则可以使用三元运算符在数据绑定Eval()进行操作。

在页面后面的代码中,您需要将listview控件与您正在获取的数据表绑定在一起,

Posts.Datasource = dt; Posts.Databind();

其中dt是您正在使用sql查询获取的数据表。一旦您更详尽地编写问题,就可以给出更多解释

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM