Asp.net 表单不是在while循环中创建的

Asp.net 表单不是在while循环中创建的,asp.net,forms,Asp.net,Forms,我是asp.net的新手。我了解到一个页面上只能使用一个服务器端表单。所以由于功能需求,我必须创建多个表单。我使用没有runat=server标记的普通表单完成了这项工作。我使用while循环创建表单。计数器初始化为零并递增到特定长度。但在运行页面后,通过查看浏览器上的源代码,我发现第一个表单标记不存在,它是在计数器值0上生成的,其他表单的计数器值大于零。作为参考,我包括我的代码 <% int length = 0; while (po

我是asp.net的新手。我了解到一个页面上只能使用一个服务器端表单。所以由于功能需求,我必须创建多个表单。我使用没有runat=server标记的普通表单完成了这项工作。我使用while循环创建表单。计数器初始化为零并递增到特定长度。但在运行页面后,通过查看浏览器上的源代码,我发现第一个表单标记不存在,它是在计数器值0上生成的,其他表单的计数器值大于零。作为参考,我包括我的代码

   <%
            int length = 0;
            while (postListLength > length)
            { %>
        <div class="View-Posts">

            <div class="View-Post-Content">
                <%=postList[length].PostContent %><br />
                <form method="post" action="CompletePost.aspx">
                <input type="hidden" name="RequestedId" value="<%=postList[length].PostId.ToString()%>" />
                <input type="submit" value="See More" />
                </form>

            </div>

        </div>
        <%
length++;
    }
        %> 
然后我做了另一个没有循环的asp页面,只有一个表单,我也遇到了同样的问题

但是表单的内部内容是存在的,比如文本框等。只有表单标签不存在于第一个表单中
任何帮助都将是可观的

您只能有一个表单周期。您不能在同一页上有多个表单,因此您需要找到更好的解决方案。但在第一个表单之后。稍后的表单是在计数器>0上生成的,这是正常的HTML表单而不是asp.net服务器端表单服务器端表单和HTML表单之间没有区别。服务器端表单呈现为普通表单。检查页面的源代码。如果有多个表单,页面将断开。请使用不同的方法。请查看本文: