我从数据库获取文本到转发器中的标签。数据库中的文本很大。我希望它只限于3行...
<asp:Label Text='<%# Eval("JobDescription")%>' runat="server"></asp:Label>
答案 0 :(得分:5)
你可以试试这个
<asp:Label CssClass="ShortDesc" Text='<%# Eval("JobDescription")%>' runat="server"></asp:Label>
CSS
.ShortDesc
{
height:50px;
Overflow:hidden;
}
或限制为200或N个字符
<asp:Label CssClass="ShortDesc" Text='<%# Eval("JobDescription").ToString().SubString(0,Math.Min(200,Eval("JobDescription").ToString().Length)) %>' runat="server"></asp:Label>
或从数据库返回一个简短说明
SELECT substring(JobDescription,1,200)+'...' AS ShortJobDescription, JobDescription From Jobs
并在你的转发器中使用它
<asp:Label CssClass="ShortDesc" Text='<%# Eval("ShortJobDescription")%>' runat="server"></asp:Label>
答案 1 :(得分:0)
使用CSS设置标签样式。限制元素的高度并将溢出设置为无。
答案 2 :(得分:0)
如果您使用sql server作为25个字符的数据库而不破坏句子,则可以使用sql查询从数据库中获取一些特定数量的字符,如下所示:
SELECT LEFT(LEFT(column_name, 25), LEN(LEFT(column_name, 25)) - CHARINDEX(' ', REVERSE(LEFT(column_name, 25)))) FROM tbl_Name
上面的查询将返回前25个字符而不会破坏句子。您可以通过将25替换为要为标签指定文本的字符来修改查询。
答案 3 :(得分:0)
{
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="fileName" runat="server" ToolTip='<%# Eval("fileName") %>' Text='<%# Eval("fileName") %>' ></asp:Label>
</ ItemTemplate >
<ItemStyle Width="35%" CssClass="fontWeight limitWidth"/>
}
Inn .css
.limitWidth {
white-space: nowrap;
max-width: 100px;
text-overflow: ellipsis;
overflow-x: hidden;
}
答案 4 :(得分:0)
我必须将标签包装在div中并应用css:
<div class="labelLimit">
<asp:Label runat="server" Text='<%#Eval("Body") %>' ></asp:Label>
</div>
.labelLimit{
height:120px;
Overflow:hidden;
text-overflow: ellipsis;
overflow-x: hidden;
}