我将一个数据集绑定到了asp转发器。在页面加载时分配给转发器的列数
<asp:Repeater id="rptDataset" runat="server">
<table>
<HeaderTemplate>
<tr>
<th>Col1</th>
<th>Col2</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("c1") %></td>
<td><%# Eval("c2") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
现在我有不同数量的列,直到加载页面才会知道。所以我正在像这样修改标题
<HeaderTemplate>
<tr>
<th>Col1</th>
<th>Col2</th>
<% for (int i=0; i<NoOfColumn; i++){
Response.Write("<th>ColN</th>")
} % >
</tr>
</HeaderTemplate>
哪个正确显示了所有列标题。
我应该修改<ItemTemplate>
以便显示所有列数据?
我已经试过类似
<% Response.Write("<td><%# Eval("c1") %></td>") %>
这将导致一个错误,由于嵌套<%%>标志。
也试过
<% Response.Write(DataBinder.Eval(Container.DataItem, "c1")) %>
但该容器不能得到解决。
谢谢@Andrei。快速入侵将会起作用,但当我正在处理大型数据集时,它会太乱。我已阅读链接 - 看起来他正在分配列,这也可以使用DataGrid来完成,不是吗?但我无法找到前端如何动态显示。如我错了请纠正我。 – ydoow