1

我正在从数据库中获取文本到转发器中的标签。数据库中的文本很大。我希望它限制为只有 3 行...

<asp:Label Text='<%# Eval("JobDescription")%>' runat="server"></asp:Label>
4

5 回答 5

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>
于 2012-11-20T05:04:16.583 回答
0

使用 CSS 设置标签样式。限制元素的高度并将溢出设置为无。

于 2012-11-20T04:39:04.573 回答
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 个字符来修改查询,该字符与您想为标签分配文本的字符一样多。

于 2012-11-20T05:18:11.853 回答
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;
}
于 2015-12-29T14:06:20.123 回答
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;
}
于 2016-05-27T14:51:58.087 回答