基于Code Behind(VB.net)动态放置用户控件

时间:2011-11-26 15:57:50

标签: asp.net vb.net user-controls code-behind

我有一个用户控件,它本质上是一个主菜单。

我可以将它放入我的MasterPage硬编码中,但我不希望这样,我希望能够使用MasterPage背后的代码动态地放置它。

<controls:mainMenu ID='MainMenu1' runat='server' />

所以我要做的就像是

if **condition is true ** _
  response.write('<controls:mainMenu ID='MainMenu1' runat='server' />')

当然,我知道这不起作用,但是如何根据母版页上代码中的条件放置控件?

我顺便使用VB,而不是C#

1 个答案:

答案 0 :(得分:1)

你可以这样做 -

Dim myControl As Control = CType(Page.LoadControl("yourcontrol.ascx"), Control)
if **condition is true ** _ 
   Panel1.Controls.Add(myControl) 

您需要在页面中添加Panel或PlaceHolder控件来保存您的控件。