Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入a<;br/>;以编程方式标记(VB.NET)_.net_Vb.net_Literals - Fatal编程技术网

插入a<;br/>;以编程方式标记(VB.NET)

插入a<;br/>;以编程方式标记(VB.NET),.net,vb.net,literals,.net,Vb.net,Literals,我试图动态地将结果添加到这个显示中,我只想在标签后面放一个break标记,开始将信息放在下一行。出于某种原因,使用文字对我不起作用。有没有更好的方法来实现这一点,或者我应该只使用表 Dim break As LiteralControl break = New LiteralControl("<br />") divListenerInfo.Controls.Add(break) Dim break作为文字控件 break=新的文字控件(“”) divListenerInfo.Co

我试图动态地将结果添加到这个显示中,我只想在标签后面放一个break标记,开始将信息放在下一行。出于某种原因,使用文字对我不起作用。有没有更好的方法来实现这一点,或者我应该只使用表

Dim break As LiteralControl
break = New LiteralControl("<br />")
divListenerInfo.Controls.Add(break)
Dim break作为文字控件
break=新的文字控件(“
”) divListenerInfo.Controls.Add(断开)
这是我试图使用的代码的一部分。
让我澄清一下我所说的:


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

为什么不使用另一个标签,或者将

附加到先前的label.txt?

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

Dim newline = New LiteralControl("<br>")
Dim newline=newliteralcontrol(“
”)

newline.Text=“
”;
要使用的正确控件是


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

如果添加的
是容器div中的最后一个元素,则看不到任何差异

您可以尝试:

Dim breakTag As LiteralControl
breakTag= New LiteralControl("<br />&nbsp;")
divListenerInfo.Controls.Add(breakTag)
Dim breakTag作为文字控件
breakTag=新的LiteralControl(“
”) divListenerInfo.Controls.Add(breakTag)
我想看看破绽


但我认为您应该首先在这个文本中添加一个虚拟文本,并在页面中搜索它。因为您的代码看起来很好。

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

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

vb.net或C#.net语法:

divListenerInfo.Controls.Add(New LiteralControl("< br >"))
divListenerInfo.Controls.Add(新的LiteralControl(“
”))

我知道这是恢复一个老帖子,但我没有看到任何明确的答案,我最终在自己的应用程序中找到了答案。希望它能帮助别人
在我的应用程序中,我尝试创建一次控件,然后在需要的地方再次添加它。每个父级只能创建一次控件。
每次需要时都需要创建一个新控件
因此:

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)

为什么不添加另一个标签,或者在前面的label.txt中附加一个break?我不知道VB.NET,但是break在C#中是一个保留字。你会因为使用它而收到编译器警告吗?madcolor:这主意不错。到太空去:不。我会看看我的答案,而标签会起作用。这有点像黑客。正确使用的控件是HtmlGenericControl,因为它是为这种情况而构建的。我更改了变量名以确保它不会更改任何内容。酷!以前不知道HtmlGenericControl。谢谢。这也不行。break标记在html中的任何地方都没有出现。听起来您创建的任何新控件都没有添加到页面本身的ControlCollection中。您应该验证控件本身是否确实被添加。在10个“br”控件中,只有2个被添加。我一步通过,它击中了他们所有的10个。关于它们为什么没有在实际的html中显示,有什么想法吗?很难说没有看到更多的代码-这听起来确实很奇怪。我在LiteralControl中放置了一些通用文本,它在html中只显示了10次中的2次。有什么线索可以解释为什么会这样吗?我通过了它,代码行被点击了,但没有结果。投票给Andrew+1,因为我相信他有一个更干净更合适的解决方案。我怀疑去掉“/”会改变很多,并且可能会破坏他的页面。。。或者你在阅读整页之前回答了吗?
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)