0

我已经设法为此编写了几行代码

For Each gal In galleries
   With New HtmlGenericControl("div")
                .ID = gal.Header
                .Controls.Add(New HtmlImage() With {.Src = "http://p.com/pic.jpg"})

                galleryContent.Controls.Add(**Me**)
   End With
Next

我找不到任何地方如何引用我当前正在使用的对象以将控件添加回“galleryContent”-使用普通me会使整个Web服务器崩溃...哎呀。

使用并没有提供仅使用的短手. - 但它使用唯一的方法来做到这一点?我很期待某种.Me 或类似的东西this

有任何想法吗?

4

3 回答 3

5

你不能。至少不是那样。

试试这个:

For Each gal In galleries 
   Dim obj as New HtmlGenericControl("div") 
   With obj
        .ID = gal.Header 
        .Controls.Add(New HtmlImage() With {.Src = "http://p.com/pic.jpg"}) 

        galleryContent.Controls.Add(ojb) 
   End With 
Next 
于 2012-04-04T16:00:56.503 回答
2

Mystere Man 是对的,但想想看……这会影响代码的可读性。

“阅读代码的频率远高于编写代码的频率,因此请做好相应的计划”

我建议避免在 VB 中使用“With”……除非你真的“必须”。

希望能帮助到你。

于 2012-04-04T16:23:18.687 回答
1

您可以执行以下操作:

For Each gal in galleries
    galleryContent.Controls.Add(New HtmlGenericControl("div") With { .ID = gal.Header })
    galleryContent.Controls[galleryContent.Controls.Count - 1].Controls.Add(New HtmlImage() With {.Src = "http://p.com/pic.jpg"})
Next

但这纯粹是为了减少线路。它严重降低了可读性,因此在任何正常情况下,您都不应该仅仅以减少代码行为目标。可读性远比“行效率”重要。

于 2012-04-04T15:58:18.843 回答