asp.net表单runat服务器

b0x*_*0rz 2 c# forms asp.net runatserver

我在每个页面都有一个搜索表单,因此我把它放在母版页上.添加runat=server到该表单后,我现在无法使用runat服务器的其他表单;)

人们通常如何解决这个问题?

一个想法是用一个表单包围整个页面runat=server但是我必须在主页面中包含代码,即使是那些仅在一个子页面上使用的表单(例如联系人).

人们通常如何解决这个问题?

日Thnx

Abe*_*bel 8

这通常被认为是ASP.NET上最有问题的设计决策之一.令人遗憾的是,你有点固定在这种每页一页的原则上.

您可能希望拥有多个表单的一个原因是浏览器将默认按钮设置为提交按钮.有人在你的搜索框中输入并按下输入不应该提交主表单(假设是登录页面),而是提交搜索按钮的微小形式.

解决此问题的最简单和"标准"方法是使用asp:Panel并设置DefaultButton属性.这应该包含包含搜索字段和搜索按钮的部分.

不要担心<form>在整个页面周围的母版页内编码.这是一种常见的设计.大多数服务器控件需要一个表单,所以为什么不简单地包含它:它应该在那里.