【发布时间】:2011-05-20 12:08:59
【问题描述】:
如何使用代码 (c#) 创建<form runat="server" />?我的问题是我想在我的页面上有多个表单(最初没有)。我正在从 db 加载所有组件。
我到处寻找,却找不到任何关于它的信息。
【问题讨论】:
如何使用代码 (c#) 创建<form runat="server" />?我的问题是我想在我的页面上有多个表单(最初没有)。我正在从 db 加载所有组件。
我到处寻找,却找不到任何关于它的信息。
【问题讨论】:
从痛苦的记忆中,在 ASP.NET-webforms 中处理多个表单是一种真正的痛苦。也许考虑看看更接近 HTML 的 ASP.NET-MVC;因此,你可以做任何你喜欢的事情。只需在视图中使用 foreach,为每个项目编写一个表单。
【讨论】:
ASP.NET 页面只能有一个“服务器端”表单。这是“核心”规则之一。
所以你必须找到其他方法来实现你所需要的。
您可以使用 UpdatePanels,并且“提交”特定面板应仅发送其内容,而忽略表单中的其他数据。
【讨论】:
ASP.NET 只允许一个服务器端表单,但允许在一页中有多个常规 表单。我建议你阅读这篇文章:ASP.NET Forms。
【讨论】:
感谢您的回复。我在我的页面中使用它解决了它:
public override void VerifyRenderingInServerForm(System.Web.UI.Control control)
{
}
然后用纯文本呈现我的表单.. 还看不到任何错误,但如果出现任何错误会更新。
另外,正如我在问题中所说,我正在动态加载所有控件,并且我没有在控件后面使用任何代码(如果我这样做了,我想会出现一些错误)。我所有的帖子都是通过检查 HttpContext.Current.Request.Form 来处理的。
【讨论】: