如何使用repeater在html页面中显示数据库中nvarchar字符串的换行符

本文关键字:数据库 显示 nvarchar 字符串 换行符 repeater 何使用 html | 更新日期: 2023-09-27 18:22:08

交易如下。在我的数据库中有一些nvarchar文本具有用于换行的CHAR(10) + CHAR(13)。我正在使用<asp:repeater>来显示和设置数据库内容的样式。以下是我的aspx页面的样子:

<asp:Repeater ID="myRepeater" runat="server">
        <ItemTemplate>
            <div class="dataTiltle">
                <%#Eval("datatitle") %> <br />
            </div>
            <div class="dataMain">
                <%#Eval("datamain") %>
            </div>
        </ItemTemplate>
        <SeparatorTemplate>
            <hr />
        </SeparatorTemplate>
</asp:Repeater>

以下是我如何从数据库中获取信息:

SqlCommand comm = new SqlCommand("SELECT * FROM table", conn);
conn.Open();
SqlDataReader reader = comm.ExecuteReader();
myRepeater.DataSource = reader;
myRepeater.DataBind();
reader.Close();

我所说的CCD_ 4s在CCD_。现在我的问题是,我找不到一种方法来显示文本的换行符。文本一直显示在一条直线上,直到它们到达div的末尾。但我希望文本自己的换行符也出现。我该怎么办?

如何使用repeater在html页面中显示数据库中nvarchar字符串的换行符

您可以在代码后面编写一个函数来执行逻辑。在里面,您只需将从数据库中获得的字符CHAR(10) + CHAR(13)替换为<br/>

<asp:Repeater ID="myRepeater" runat="server">
    <ItemTemplate>
        <div class="dataTiltle">
            <%#Eval("datatitle") %> <br />
        </div>
        <div class="dataMain">
            <%#Your_Function_Name(Eval("datamain")) %>
        </div>
    </ItemTemplate>
    <SeparatorTemplate>
        <hr />
    </SeparatorTemplate>
</asp:Repeater>

然后从代码后面编写您的公共函数:

public string Your_Function_Name(string datamain)
{
//now u have the value from DB in datamain. Do your required logic here then return the required value
}

当用HTML"<br/>"呈现从数据库读取的字符串时,可以替换回车/换行序列。

假设您在一个名为FormatAsHtml()的函数中执行了此操作。。。你可以在你的中继器内调用它,如上所述。

您可以使用字符串。替换(@"''n''r","<br/>")作为替换。

使用字符串的replace方法来替换Char(10)和Char(13)的所有出现,然后将其分配给您的中继器控件。若您想在不使用上述方法的情况下编辑数据,则应该在格式化数据库后获取数据。