在Repeater Control中显示多行?

时间:2011-07-26 05:45:34

标签: c# sql visual-studio-2010

我正在创建一个类似Facebook Wall的结构,并使用C#-Visual Studio 2010和Sql Server 2005作为数据库,使用转发器控制。

我无法在转发器控件中显示多行文字

脚本

<asp:TextBox ID="TextBox1" runat="server" Width="100%" TextMode="MultiLine"></asp:TextBox>

<asp:Repeater ID="myrepeater" runat="server">
            <HeaderTemplate>
                <table width="100%" style="font: 8pt verdana">
                    <tr style="background-color:#3C78C3">
                        <th>SCRAPS</th>
                    </tr>

            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                       <%#DataBinder.Eval(Container,"DataItem.scraps") %>
                    </td>
               </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>

因此,当我点击提交按钮时,文本存储在DataItem.scraps(我的数据库表中的列)中,并显示在转发器控件中。

但是当我在文本框中输入多行文本时,它在转发器控件中显示为单行。

我希望它能够显示多行转发器控件。

那究竟是什么问题 1)是否在数据库中存储单行文本 2)或,转发器控制问题

并且,如何解决它?

请帮帮我。

提前致谢, NIKHIL

1 个答案:

答案 0 :(得分:4)

转发器控制非常简单。没有理由你无法彻底控制输出,只需将所有内容放在项目模板中:

<asp:Repeater ID="rptWall" runat="server">  
<HeaderTemplate>
    <h1>The wall<h1>
</HeaderTemplate>  
<ItemTemplate>
    <hr>
    <asp:TextBox id="txtPost" runat="server" textmode="multiline" text='<%#DataBinder.Eval(Container.DataItem, "Posttext")%>'></asp:TextBox>
    <hr>
</ItemTemplate>  
<FooterTemplate>  
    <h3>put stuff here to add post</h3>
</FooterTemplate>  
</asp:Repeater>