从SQL数据库中断中继器



我有一个SQL数据库,其中有一个带换行符的文本。但在复读器中,文本没有中断。有没有一个解决方案,让中继器休息?

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
        <HeaderTemplate>
            <table>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td></td>
                <td colspan="2" style="text-align:center"><%# Eval ("Titel") %></td>
            </tr>
            <tr>
                <td><asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Bild") %>' /></td>
                <td><%# Eval ("Inhalt") %></td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>

最有可能的问题是,换行符存储为操作系统环境(如environment.NewLine)中使用的换行符。这些换行符在HTML中不会这样显示。

您需要将它们替换为中继器代码中的HTML换行符<br />

<td><%# ((string)Eval ("Inhalt")).Replace(Environment.NewLine, "<br />") %></td>

当然,如果您使用视图模型在代码背后准备数据,这看起来会更好,但遗憾的是,它确实有效。

最新更新