我有一组记录,每条记录都有一个ID和一个描述。 现在在我的formview中我有8个文本框,我希望每个文本框都有描述 每条记录。
所以,如果我这样做
Text='<%# Eval("Record[0].Description") %>' />
这会产生错误,还有其他任何方法吗?
我也可以在标记中执行此操作,还是需要在后面的代码中执行此操作,在formview的数据绑定方法下?
谢谢..
答案 0 :(得分:1)
FormView不用于显示数据列表。
如果您有数据列表,则应使用GridView
或ListView
。
使用具有单个记录的数据源绑定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是记录