在 ASP.Net 应用程序中使用多个表单标签时会发生什么?

what will be happen when using more than one form tag in ASP.Net application?

在 Web 应用程序中使用多个表单标签会发生什么情况?

我在母版页中使用表单标记,在子页中使用 alos。但它显示错误。

what will be happen when using more than one form tag in web application?

您可以在一个页面中使用任意数量的 <form> 元素(尽管它们不能嵌套)。但是,正如您所注意到的,在每个 composed Page instance 中只能有一个 <form runat="server"> 元素(也就是说,当前 .aspx 页面和任何子 Control.ascx UserControl 实例周围所有组成的 .master 页面的控件布局。

这是因为 ASP.NET WebForms 是基于这样的假设构建的,即每个用户的操作(按钮单击、<select> 选择更改、单选按钮单击等)都会触发 "whole page post-back" 将在 POST 响应中重新加载整个页面,这(与 __VIEWSTATE 结合)会将类似于 VB6 桌面表单的模型带到网络上。

...但是那是在 2001 年 ASP.NET WebForms 发布时,从那时起每个人都意识到 WebForms 的 "postback" 模型是一个巨大的错误并且从字面上破坏了网络(因为它破坏了后退按钮,它破坏了刷新按钮,它破坏了 HTTP 方法的语义,它会将 Web 从一个可扩展的无状态系统转变为一个可怕的有状态系统,除了轻微的影响外,对任何人都没有任何实际好处a fraction of software developers who never left their Visual Basic comfort zone).

的初始学习曲线较浅

简而言之:停止使用 ASP.NET WebForms 并尽快迁移到 ASP.NET MVC。