<body>
    <form id="form1" runat="server">
    <div>
    <%
        int i = 100;
        for (int j = 0; j < i; j++)
        {
            %>
                <%=j %><asp:TextBox ID="txt" runat="server" Text="<%=j %>"></asp:TextBox>
                <br />
                <hr />
            <%
        }
    %>
    </div>
    </form>
</body>
<%=j %>  能获取到值    但是 赋值给服务器控件就不行了  直接 这么写 <asp:TextBox ID="txt" runat="server" Text="<%=j %>"></asp:TextBox> 得到的值 是 <%=j %>   为什么不是  for 循环的 j 值呢?

解决方案 »

  1.   

    如果是为了单纯的显示数据,可以换成 
    <input name="txt" type="text" value='<%=j %>' id="Text1" />
    试试
      

  2.   

    改成单引号,  Text='<%=j %>'
      

  3.   

    服务器控件不能嵌套在for{}里面
      

  4.   


    <%
            int i = 100;
            for (int j = 0; j < i; j++)
            {
                %>
                    <%=j %>
                    <% 
                        //output
                        Response.Write("<input type='text' value='"+j.ToString()+"'");
                        %>
                    <br />
                    <hr />
                <%
            }
        %>