将控件添加到HTMLGenericControl

时间:2014-08-13 11:50:48

标签: asp.net vb.net

我有一组UL元素设置为runat =" server"在VB.NET中。我试图通过在后面的代码中创建它们的数组将它们全部加载到HTMLGenricControl中。这样我就可以将一个HTMLGenricControl数组对象放到我的方法中进行处理。否则我的方法有大约18个参数,每个参数对应一个UL控件。我想知道是否有人有任何关于如何实现这一目标的正确例子。

这是一些控件。

        <nav id="my-menu1"><ul id="ul1" runat="server"></ul></nav>        
        <nav id="my-menu2"><ul id="ul2" runat="server"></ul></nav>
        <nav id="my-menu2"><ul id="ul3" runat="server"></ul></nav>

然后在页面后面的代码加载像这样......

    Dim objUl As HtmlGenericControl = New HtmlGenericControl("ul")
    objUl.Controls.Add(ul1)
    objUl.Controls.Add(ul2)
    objUl.Controls.Add(ul3)


    MyMethod(objUl)

否则就像

    MyMethod(ul1, ul2, ul3)

不知何故,在上面的代码中我有点错误。希望有人可以告诉我我缺乏理解。

1 个答案:

答案 0 :(得分:1)

添加到Control列表以保存不同类型的控件(按钮,标签,..)或使其特定于HTMLGenricControl:

Dim GenericControls as new List(of Control)
GenericControls.add(ul1)

通过引用传递给某些方法

Sub MyMethod(byref GenericControls as List(of Control)){
 For each c as Control in GenericControls
   Dim UL = Ctype(c, HtmlGenericControl )
 End for
end Sub