【问题标题】:ASP.NET Website: page with multiple formsASP.NET 网站:具有多种形式的页面
【发布时间】:2014-12-01 19:32:27
【问题描述】:

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

我需要在那个页面中插入多个表单标签,我知道我不能放 多个具有 runat="server" 属性的,我不需要它。

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

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

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

我将它多次添加到我的 div 中,它可以工作。 关键是我不想插入我所有的 HTML 对象,将它们写在一个字符串中 并使用 InnerHTML 方法添加它。我正在寻找一个没有管理表单的对象 runat 属性或从 HtmlForm 中删除该属性的方法。

【问题讨论】:

  • 你可能会使用 javascript。
  • 您在使用网络表单吗?使用网络表单,每页只能有一个表单!
  • 我没有使用 Web 表单。就像说过的那样,如果我使用 InnerHTML 属性插入表单,它就可以工作。 @cullub 我宁愿不使用 JavaScript。还有其他建议吗?
  • 您使用的是 Microsoft Visual Studio 吗?如果有,是什么版本?
  • 是的,VS Express 2012。

标签: c# asp.net forms runat


【解决方案1】:

用户控件可能是最简洁的解决方案,但您可以添加 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)

【讨论】:

    【解决方案2】:

    如果您想动态地向页面添加控件并使网页呈现为纯 html,而不是呈现 asp:Controls,您可以使用 Literal 控件。检查此linkthis one

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-01
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      相关资源
      最近更新 更多