Обрыв повторителя из базы данных 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>

person user3070725    schedule 11.12.2013    source источник
comment
В базе данных вы храните html как текст?   -  person Sain Pradeep    schedule 11.12.2013


Ответы (1)


Скорее всего, проблема заключается в том, что разрывы строк хранятся как разрывы строк, используемые в среде ОС (например, Environment.NewLine). Эти разрывы строк не отображаются как таковые в HTML.

Вам нужно заменить их разрывом строки HTML, <br />, в вашем коде повторителя:

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

Конечно, это выглядело бы намного лучше, если бы вы подготовили данные в коде программной части с использованием модели представления, но, увы, это работает.

person matk    schedule 11.12.2013