【问题标题】:printing html in asp.net在asp.net中打印html
【发布时间】:2011-08-30 21:54:11
【问题描述】:

打印 html 的最佳方式是什么?

我可以这样做:

container.InnerHtml = "<input type=\"text\" ...runat=..>"; 

其中container 是对&lt;div&gt; HTML 的引用

但我觉得这不是正确的模式。 有人可以指点我正确的方向吗?

提前致谢。

【问题讨论】:

  • 这并不常见,但如果它有效也可以,具体取决于您的具体需求。但如果您的内容如:"&lt;input type=\"text\" ...runat=..&gt;" 是固定且已知的,为什么不在设计时直接在页面中的标记中添加控件?
  • 你想要它格式化吗?着色,空间等?还是只是生的?
  • runat="server" 如果以这种方式注入将不起作用。

标签: c# asp.net html


【解决方案1】:

正如 Paolo 所提到的,使用 &lt;asp:PlaceHolder&gt; 是在运行时注入 HTML 的好方法。它不仅允许您输出纯 html &lt;div&gt;&lt;p&gt;Hello World!&lt;/p&gt;&lt;/div&gt;,还允许您动态添加其他 asp.net 控件。

对于您上面的示例,您可以这样做

.aspx

<asp:PlaceHolder id="PlaceHolder1" runat="server" />

c#

TextBox textBox1 = new TextBox();
textBox1.Id = "textBox1";
textBox1.TextMode = TextBoxMode.SingleLine;

PlaceHolder1.Controls.Add(textBox1);

这允许您动态访问您在 textBox1 中输入的值。

【讨论】:

    【解决方案2】:

    如果“打印 HTML”是指在运行时将其注入 ASP.NET 网络表单中,您可以尝试使用 PlaceHolder

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      相关资源
      最近更新 更多