asp.net FormView数据绑定与数据集合

时间:2013-05-06 17:43:04

标签: asp.net webforms formview

我有一组记录,每条记录都有一个ID和一个描述。 现在在我的formview中我有8个文本框,我希望每个文本框都有描述 每条记录。

所以,如果我这样做

Text='<%# Eval("Record[0].Description") %>' />

这会产生错误,还有其他任何方法吗?

我也可以在标记中执行此操作,还是需要在后面的代码中执行此操作,在formview的数据绑定方法下?

谢谢..

2 个答案:

答案 0 :(得分:1)

FormView不用于显示数据列表。

如果您有数据列表,则应使用GridViewListView

使用具有单个记录的数据源绑定FormView,然后直接Eval数据源的字段。

即。这样做:

<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSourceId">  
    <ItemTemplate>
        <asp:TextBox id="txtDescription" 
                     Text='<%# Eval("Description") %>' />

        <asp:TextBox id="txtName" 
                     Text='<%# Eval("Name") %>' />


         ..
     </ItemTemplate>
 </asp:FormView>

所以基本上,你的FormView应该包含不同的DataField,它应该绑定到只有一个Item的DataSource。

答案 1 :(得分:0)

你可以在里面使用转发器:

<asp:repeater ID="rep" runat="server" DataSource='<%# Eval("Record") &>'>
    <ItemTemplate>
        <asp:textbox id="txt" runat="server" Text='<%# Eval("Description") &>' />
    </ItemTemplate>
</asp:repeater>

在转发器中,您将绑定到您的外部数据源,在转发器内,您的datacontext是记录