如何使用asp.net c#限制标签中的文本

时间:2012-11-20 04:36:38

标签: asp.net

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

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

5 个答案:

答案 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;
}