如何使用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
的末尾。但我希望文本自己的换行符也出现。我该怎么办?
您可以在代码后面编写一个函数来执行逻辑。在里面,您只需将从数据库中获得的字符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)的所有出现,然后将其分配给您的中继器控件。若您想在不使用上述方法的情况下编辑数据,则应该在格式化数据库后获取数据。