【问题标题】:How to add html form to asp:PlaceHolder (missing form tag)如何将html表单添加到asp:PlaceHolder(缺少表单标签)
【发布时间】:2013-04-22 11:29:10
【问题描述】:

我必须向 asp:PlaceHolder 添加简单的表单

<form action="https://www...." method="post" target="_top">
<input type="hidden"...
<input type="hidden"...
<input type="image" ...name="submit">
</form>

PageLoad()我加了:

data = "<form action=...."
this.myPlaceHolder.Controls.Add(new LiteralControl(data));

当页面渲染页面源为:

<input type="hidden"...
<input type="hidden"...
<input type="image"...name="submit"...
<img alt=""...

你可以看到没有表单标签? 但我确信data 变量包含“&lt;form ...”。 有没有其他方法可以将表单添加到placeholder,也许我使用了错误的方法?

【问题讨论】:

  • 你不能只编辑 .aspx 文件吗?
  • 不,我必须动态添加此表单
  • 直接使用Literal添加表格,其余数据。
  • 如果它在占位符中工作,那么为什么不使用内联服务器标签来传递您需要发布的表单值,例如&lt;input type="hidden" name="test" value="&lt;%= myVariable %&gt;" /&gt;
  • 创建一个名为myVariable的变量并在后面的代码中设置它的值..

标签: c# asp.net webforms forms asp.net-placeholder


【解决方案1】:

我必须添加这个答案可能会对某人有所帮助。
当我添加“&lt;form...”时没有添加表单标签,但是
如果我将“&lt;form&gt;&lt;/form&gt;&lt;form...”添加到占位符,那么它可以工作。
我不明白为什么,但它工作正常。

【讨论】:

    【解决方案2】:

    您应该将它们添加到 asp 文件中,而不是动态添加表单。像这样:

    <form action="https://www" method="post" target="_top">
       <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
       </asp:ContentPlaceHolder>
    </form>
    

    然后你可以在占位符上添加任何对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多