ASP.NET网站:具有多个表单的页面

本文关键字:表单 NET 网站 ASP | 更新日期: 2023-09-27 18:25:51

在ASP.NET(C#)中动态创建网页时遇到问题。

我需要在该页面中插入多个表单标记,我知道我不能不止一个具有runat="server"属性,我不需要它。

我想从C#中放置它们(我必须管理的每个元素一个),没有runat属性,而是使用HtmlForm对象用于插入表单的自动添加runat属性,但无法删除它(尝试使用表单.Attributes.Remote("runat")

如果我使用一个简单的字符串,比如:

"<form id="someID" method="POST" action=""></form>"

我多次将它添加到我的div中,它是有效的。重点是,我不想插入所有HTML对象,将它们写在字符串中并使用InnerHTML方法添加它。我正在寻找一个不使用runat属性或从HtmlForm中删除该属性的方法。

ASP.NET网站:具有多个表单的页面

用户控件可能是最干净的解决方案,但您可以添加HtmlGenericControl而不是不绑定到任何特定属性的HtmlForm对象。

Dim ctrl As New HtmlGenericControl("form")
ctrl.Attributes.Add("id", "someID")
ctrl.Attributes.Add("method", "POST")
ctrl.Attributes.Add("action", "")
OuterDivContainer.Controls.Add(ctrl)

如果您想将控件动态添加到页面中,并使网页将它们呈现为纯html,而不是呈现asp:controls,则可以使用Literal控件。检查此链接或此