Asp.Net 尝试在循环中以编程方式设置按钮

Asp.Net Trying to set programmatically buttons in a loop

这是我的代码:

 <% for (int i = 1; i < rptTotPages; i++)
 {
 %>
     <asp:Button runat="server" 
                 Text="<%:i%>" 
                 CommandName="RptPager" 
                 CommandArgument="<%:i%>" 
                 OnCommand="RptPagerCommand"/>

 <%  } %>

但我得到的是一系列带有文本的按钮:<%:i%>

我想要用它的值替换 i

相信你可以用asp:repeater控制

代码隐藏

在 Page_Load 事件中:

if(!IsPostBack) {
  IEnumerable pageNums = Enumerable.Range(1, rptTotPages);
  rptrPages.DataSource = pageNums;
  rptrPages.DataBind();
}

ASPX:

    <asp:Repeater ID="rptrPages" runat="server">  
          <ItemTemplate>
                   <asp:Button runat="server" 
                 Text="<%# Container.DataItem %>" 
                 CommandName="RptPager" 
                 CommandArgument="<%# Container.DataItem %>" 
                 OnCommand="RptPagerCommand"/>
          </ItemTemplate>
</asp:Repeater>