【问题标题】:Insert a <br /> tag programmatically (VB.NET)以编程方式插入 <br /> 标签 (VB.NET)
【发布时间】:2009-04-28 18:19:58
【问题描述】:

我正在尝试将结果动态添加到此显示中,我只是想在标签后放置一个中断标记以开始将信息放在下一行。出于某种原因,使用文字对我不起作用。有没有更好的方法来做到这一点,还是我应该只使用表格?

Dim break As LiteralControl
break = New LiteralControl("<br />")
divListenerInfo.Controls.Add(break)

这是我尝试使用的代码的一部分。


让我澄清一下我所说的:

它不起作用,因为换行符没有显示在网页上。它编译得很好,代码没有任何问题。由于某种奇怪的原因,它只是没有出现在 html 中。

【问题讨论】:

  • 为什么不添加另一个标签,或者在之前的 label.txt 中添加一个断点?
  • 我不懂VB.NET,但是break是C#中的保留字。使用它时是否收到编译器警告?
  • madcolor:不错的主意。进入太空:不。
  • 我会看看我的答案,虽然标签会起作用,但它有点像黑客。正确使用的控件是 HtmlGenericControl,因为它是为这种情况而构建的。

标签: .net vb.net literals


【解决方案1】:

要使用的正确控件是HtmlGenericControl

Dim br As New HtmlGenericControl("br")

您可以使用HtmlGenericControl 来呈现您想要的任何 HTML 元素,只需将元素的标签名称作为单个参数传递给构造函数。

【讨论】:

  • 酷!以前不知道 HtmlGenericControl。谢谢。
  • 这也不起作用。 html中没有出现break标签。
  • 听起来您创建的任何新控件都没有添加到页面本身的 ControlCollection 中。您应该验证控件本身是否确实被添加。
  • 仅添加了 10 个“br”控件中的 2 个。我走过去,它击中了所有 10 个。关于为什么它们没有显示在实际的 html 中的任何想法?
  • 如果没有看到更多代码,这很难说 - 不过听起来确实很奇怪。
【解决方案2】:

为什么不直接使用另一个标签,或者将 &lt;br&gt; 附加到之前的 label.txt 中?

【讨论】:

  • 投票给 Andrew +1,因为我相信他有一个更干净更合适的解决方案。
【解决方案3】:

如果添加的
是容器div的最后一个元素,你看不出有什么区别。

你可以试试:

Dim breakTag As LiteralControl
breakTag= New LiteralControl("<br />&nbsp;")
divListenerInfo.Controls.Add(breakTag)

查看休息时间。

但我认为您应该首先在此 Literal 中添加一个虚拟文本,如果添加了它,请在您的页面中搜索它。因为你的代码看起来不错。

【讨论】:

  • 我在 LiteralControl 中放了一些通用文本,它在 html 中只显示了 10 次中的 2 次。关于为什么会这样的任何线索?我单步执行,代码行被击中,但没有任何结果。
【解决方案4】:


我知道这是在恢复一个旧帖子,但我没有看到任何明确的答案,我终于为我自己的申请找到了答案。希望它可以帮助别人!
在我的应用程序中,我尝试创建一次控件并在需要的地方再次添加它。每个父控件只能创建一次。
您需要在每次需要时创建一个新控件!
所以:

divListenerInfo.Controls.Add(New LiteralControl("&lt;br />"))
divListenerInfo.Controls.Add(New LiteralControl("&lt;br />"))

不是这个

Dim breakTag As LiteralControl
breakTag= New LiteralControl("&lt;br />")
divListenerInfo.Controls.Add(breakTag)
divListenerInfo.Controls.Add(breakTag)

【讨论】:

    【解决方案5】:

    我不确定 break 在 vb.net 中是否也是保留字,所以试试

    Dim newline = New LiteralControl("<br>")
    

    newline.Text="<br>"; 
    

    【讨论】:

    • 我更改了变量名以确保,它没有改变任何东西。
    【解决方案6】:

    我会尝试使用调试器单步执行代码以确保该行被命中,同时三重检查 divListenerInfo 是否是正确的控件。

    【讨论】:

      【解决方案7】:

      我认为您正在使用面板或占位符。

      vb.net 或 C# .net 语法:

      divListenerInfo.Controls.Add(New LiteralControl("< br >"))
      

      【讨论】:

      • 我怀疑留下“/”会改变很多,并且可能会破坏他的页面......或者您是否可能在阅读整个页面之前回答?
      猜你喜欢
      • 1970-01-01
      • 2011-05-17
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      相关资源
      最近更新 更多