格式化数据库中的文本

时间:2010-10-10 10:57:22

标签: c#

我有Datalist从数据库中检索文本的一部分,如果有(。)。it​​在新行开始,则该文本必须是格式.as。 那我怎么能这样做呢?

<asp:DataList ID="DataList1" runat="server">
                                <ItemTemplate>
                                    <div class="scrollerDiv_open_about m10 ad_mun_font">
                                        <asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("Id","~/Handlers/AboutUsImage.ashx?Id={0}") %>'
                                            Width="178" Height="115" Style="float: left; padding: 10px 10px 0 10px" />
                                            <span class="ad_mun_font_h"><asp:Label
                                                ID="LblHeader" runat="server" Text='<%# Eval("Header") %>'></asp:Label></span>
                                               <p>
                                        <asp:Label ID="LblText" runat="server" Text='<%# Eval("Text") %>'></asp:Label>.</p>
                                    </div>
                                </ItemTemplate>
                            </asp:DataList>

1 个答案:

答案 0 :(得分:2)

只需使用Replace方法,如下所示:

    // In your code, s would be filled in from the database.
    string s = "This is trial text.  I want a line break after a period character (.).  I think this is what you mean but I am not certain."

    s = s.Replace(".", ".\n\r")

编辑:

鉴于您绑定到数据源,最好直接对数据源进行操作。例如:

foreach (var x in myDataSource)
{
    x.TextField = x.TextField.Replace(".", ".\n\r");
}

myGridOrWhatever.DataSource = myDataSource;
myGridOrWhatever.DataBind();

我不打开VS,但我认为只要您使用myDataSource显示内容就可以了。如果您正在编辑网格中的数据或其他任何内容,您可能需要重新考虑这一点,但它应该让您开始。