从SQL数据库中断转发器

时间:2013-12-11 08:45:42

标签: asp.net sql repeater

我有一个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>

1 个答案:

答案 0 :(得分:0)

问题很可能是换行符存储为OS环境中使用的换行符(例如Environment.NewLine)。这些换行符在HTML中不会显示。

您需要在转发器代码中使用HTML换行符<br />替换它们:

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

当然,如果使用视图模型在代码隐藏中准备数据,这看起来会更好,但唉,它可以工作。