ASP.NET背后的理念是什么,不允许使用标记runat=server
制作多个表单...
答案 0 :(得分:2)
Web表单是为了更好或更糟糕的概念而构建的,旨在抽象底层平台。服务器控件,服务器事件,ViewState和UpdatePanel都是这种方法的例子。
多个表单并非不可能,但对于将服务器控件添加到他/她的页面并希望它们“正常工作”的新手开发人员来说,这将是不直观的。对于一个经验丰富的开发人员来说,它会很不错,但它会引入一组新的警告(而且Web Forms有许多细微差别和警告)。
例如,假设我添加了一个GridView
来形成A,一个DropDownList
来形成B.下拉触发一个回发,但只有表单B中的数据被发布到服务器(这就是表单的工作方式;一次只发布一个表单。)
但是,GridView现在缺少其所有的ViewState,它包含在表单A中。页面现已完全破坏。
Ad hoc ViewState值更加棘手。开发人员可以将他们想要的任何内容放入ViewState作为名称/值对。服务器应该如何决定哪个表单获取ViewState?如果它进入所有表单,那就是页面膨胀。
<强>摘要强>
<form>
添加到ASPX页面(虽然它可能无法在服务器上运行)。