我在ASP.NET中使用ListView控件从我的数据库中检索数据。我研究了ListView控件的Web表单代码,并发现它基本上使标签显示从数据库中检索的数据。我想知道如何操纵标签。我可以轻松地更改标签的字体颜色,但是我不能使标签截断并显示“(.. more)”如果其长度超过10而不诉诸C#代码。 (我在.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 />
<asp:Label ID="contentsLabel" runat="server" Font-Size="Small" ForeColor="#666699" Text='<%# Eval("contents") %>' />
<br />
<br /></span>
</ItemTemplate>
答案 0 :(得分:1)
如果你真的想避免在代码中这样做,你总是可以在提供数据的SQL中做到这一点:
SELECT CASE WHEN Len(contents) > 10 THEN Left(contents, 10) + '...' ELSE contents END
FROM YourTable
WHERE whatever
但如果您不想使用代码隐藏,则可以使用三元运算符在数据绑定Eval()
中执行此操作。
答案 1 :(得分:0)
在页面后面的代码中你需要将listview控件与你正在获取的数据表绑定,
Posts.Datasource = DT; Posts.Databind();
其中dt是使用sql查询获取的数据表。一旦你更精细地写出问题,给出更多解释