取自这个问题,
而这个网站,
他们为什么要将网站放在一个form
元素中。
<form id="RunwayMasterForm" action="/en-us/" method="post">
查看标记结构,该form
元素是 的直接子body
元素,所有其他元素都包含在该form
元素中。
他们为什么要那样做?
在 Microsoft 的ASP.Net(Web 表单)的原始形式中,所有页面生成的标记都包含一个包含所有内容的表单标记。
我的猜测是,要么开发人员最初将页面创建为 ASP.Net WebForms“解决方案”的一部分,然后在没有删除表单标签的情况下从该框架迁移,或者只是将其误解为一种标准,尽管在一段时间内使用此类解决方案。
更新查看您引用的 SO 问题中的链接(Windows Azure),这是当前的 MS 页面——是的,确实,这是 WebForms 的实际应用。
许多服务器端语言(尤其是那些具有高级抽象的语言,如 ASP.net)通过标准表单输入处理用户交互。
这些页面可能来自 ASP.NET Web 应用程序。
在 ASP.NET 中,所有服务器控件都必须出现在表单标记内。
可能是因为他们使用的是 ASP.NET WebForms,它试图尽可能多地抽象出 Web 开发,使其看起来像桌面应用程序开发——这种方法会导致许多妥协和不符合最佳实践的代码。