<asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <tr>
                        <%
                            for (int i = 0; i < 3; i++)
                            {
                        %>
                        <td>
                            <%#Eval("column" + i)%>
                        </td>
                        <%
                            }
                        %>
                    </tr>
                </ItemTemplate>
            </asp:Repeater>
<%#Eval("column" + i)%> 这行提示"当前上下文中不存在名称i"。为什么不识别i呢?

解决方案 »

  1.   

    这个写得有点精灵古怪,其实你可以写到Repeater的ItemDataBound事件中去,动态生成列。
      

  2.   

            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <%for (int i = 0; i < 3; i++){%>
                    <td>
                        <% Response.Write(Eval("colums" + i.ToString()));%>
                    </td>
                    <%}%>
                </ItemTemplate>
            </asp:Repeater>
    这样试试
      

  3.   

    这样不行,报错
    "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。 "
      

  4.   

    <%#Eval("column" + i)%>改成这个试一下,<%i+#Eval("column")%>
      

  5.   

    <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <%for (int i = 0; i < 3; i++){%>
                    <td>
                        <% Response.Write(Eval("colums" + i.ToString()));%>
                    </td>
                    <%}%>
                </ItemTemplate>
            </asp:Repeater>
      

  6.   

     <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <%for (int i = 0; i < 3; i++){%>
                    <td>
                        <%# Eval("colums" + <% i.ToString() %>)%>
                    </td>
                    <%}%>
                </ItemTemplate>
            </asp:Repeater>
      

  7.   

    在后台写,在ItemDataBound事件里面