在 Web 应用程序中使用多个表单标签时会发生什么?
我在母版页和子页面中使用表单标签。但它显示错误。
在 Web 应用程序中使用多个表单标签时会发生什么?
您可以根据需要<form>
在页面中使用任意数量的元素(尽管它们不能嵌套)。但是,正如您所注意到的,在每个组合实例中只能有一个<form runat="server">
元素 Page
(即.master
围绕当前.aspx
页面的所有组合页面以及任何子Control
或.ascx
UserControl 实例的控件布局)。
这是因为 ASP.NET WebForms 是围绕这样一个假设构建的,即每个用户的操作(单击按钮、<select>
更改选择、单击单选按钮等)将触发“整个页面回发”,这将重新加载整个页面一个POST
响应,它(与 结合__VIEWSTATE
)会将类似于 VB6 桌面表单的模型带到 Web。
...但那是在 2001 年 ASP.NET WebForms 发布时,从那时起每个人都意识到 WebForms 的“回发”模型是一个巨大的错误,实际上破坏了网络(因为它破坏了后退按钮,它破坏了刷新按钮,它打破了HTTP方法的语义,它会从一个可扩展的和无状态系统进行改造,网络形成了一个可怕的状态的系统,没有真正的好处比稍浅的初始学习曲线的其他任何人的一小部分从未离开 Visual Basic 舒适区的软件开发人员)。
简而言之:停止使用 ASP.NET WebForms 并尽快迁移到 ASP.NET MVC。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句