【问题标题】:How to break lable text line in asp.net c#如何在asp.net c#中打破标签文本行
【发布时间】:2013-11-28 04:12:36
【问题描述】:

我是 asp.net 的新手,最近我做了一个留言簿,但我不知道如何破坏正文标签文本。我使用了无法解决我的问题的代码:

<asp:ListView ID="ListView1" runat="server" DataKeyNames="UserID" 
                DataSourceID="SqlDataSource1">
                <AlternatingItemTemplate>
                    <tr style="background-color: #FFFFFF;color: #284775;">
                        <td>
                            <asp:Label ID="SubjectLabel" runat="server" Text='<%# Eval("Subject") %>' />
                        </td>
                        <td>
                            <asp:Label ID="CommentDateLabel" runat="server" 
                                Text='<%# Eval("CommentDate") %>' />
                        </td>
                        <td>
                            <asp:Label ID="BodyLabel" runat="server"  Width="300" Text='<%# Eval("Body").ToString().Replace("\r\n", "<br />") %>' />
                        </td>
                        <td>
                            <asp:Label ID="UserNameLabel" runat="server" Text='<%# Eval("UserName") %>' />
                        </td>
                        <td>
                            <asp:Label ID="UserurlLabel" runat="server" Text='<%# Eval("Userurl") %>' />
                        </td>
                        <td>
                            <asp:Label ID="UserIDLabel" runat="server" Text='<%# Eval("UserID") %>' />
                        </td>
                        <td>
                            <asp:Label ID="CommentIdLabel" runat="server" Text='<%# Eval("CommentId") %>' />
                        </td>
                    </tr>
                </AlternatingItemTemplate>



Text='<%# Eval("Body").ToString().Replace(Environment.NewLine, "<br />" ) %>' />`

我在 google 和 bing e.t.c 中搜索了所有地方都没有成功,有人可以帮我解决这个问题吗?

【问题讨论】:

  • Eval("Body") 的内容中真的有换行符吗?您可以发布一个指向您实际页面的链接,或者在您的浏览器中执行"View Source" 并将结果粘贴到,例如PasteBin

标签: c# asp.net


【解决方案1】:

试试看

<asp:Label ID="BodyLabel" **style="word-wrap: break-word"**  runat="server" Text='<%# Eval("Body").ToString() %> />

或查看此示例:Adding new line to label

【讨论】:

  • 非常感谢您解决了我的问题,非常感谢您的帮助,让工作保持良好状态。
【解决方案2】:

答案是您只需将&lt;br/&gt; 字符串添加到您的标签文本中。因为Label是html中的span tab,像这样:

<asp:Label ID="SubjectLabel" runat="server" Text='<%# Eval("Subject") %><br/>' />

【讨论】:

  • 其实你要这个新行在哪里?
  • 我想在 中使用它
【解决方案3】:

您可以在标签中使用Replace("\r\n", "&lt;br /&gt;");

Text='<%# Eval("Body").ToString().Replace("\r\n", "<br />") %>' />

结合

 <asp:Label ID="BodyLabel" runat="server" 
      Text='<%# Eval("Body").ToString().Replace("\r\n", "<br />") %>' />

【讨论】:

  • 但还是同样的问题
  • 什么问题?
  • 这个标签在 Listview 里面我试过上面的方法但还是有同样的问题
  • 哪个 character 用于数据库中的换行符。还是从您将值放入数据库的位置?
【解决方案4】:

只需指定Width

<asp:Label ID="BodyLabel" Width="300px" runat="server" Text='<%# Eval("Body").ToString() %> />

或者 - 如果您想要确切的休息时间,请执行以下操作:Replace("\n", "&lt;br /&gt;");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-05
    • 2019-12-18
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2017-04-08
    • 2016-12-21
    相关资源
    最近更新 更多