Asp.net 动态添加用户控件

Asp.net 动态添加用户控件,asp.net,Asp.net,我有一个页面a三个按钮,当用户点击第一个控件时,我想显示第一个用户控件,对于按钮2第二个用户控件等等。。。如何在页面初始化中实现这一点,因为我们不知道单击了哪个按钮您可以在页面初始化事件中使用此技巧找到按钮ID string buttonID = Request["__EVENTTARGET"].ToString(); 在buttonID In buttonID变量中,您将找到按钮的客户端ID。这取决于您希望如何显示它们 不需要时隐藏控件更容易,需要时才可见 如果要动态添加它们,最简单的方法是

我有一个页面a三个按钮,当用户点击第一个控件时,我想显示第一个用户控件,对于按钮2第二个用户控件等等。。。如何在页面初始化中实现这一点,因为我们不知道单击了哪个按钮

您可以在页面初始化事件中使用此技巧找到按钮ID

string buttonID = Request["__EVENTTARGET"].ToString();

在buttonID In buttonID变量中,您将找到按钮的客户端ID。

这取决于您希望如何显示它们

不需要时隐藏控件更容易,需要时才可见

如果要动态添加它们,最简单的方法是在需要时将控件添加到占位符中。 乙二醇

ASP


但您还需要记住,为了能够在回发时访问控件,您需要在提交/回发时重新添加它。

为什么要动态添加它们?根据单击的按钮使其可见,并将其他按钮隐藏在按钮单击事件处理程序中。因为这将使我的页面非常有趣heavy@user685663:动态控制让你的生活更加“沉重”。当您不需要时不应该这样做,因为这会变得更加困难,例如ViewState和事件处理问题。此外,ASP.Net根本不会将不可见的控件呈现为HTML,因此您的页面根本不会“沉重”。Tim thnx供您反馈。。请提供一些关于一次性使用用户控件而不是动态控件的详细信息。。如您所述,viewstate和eventhandling问题。。一次添加控件并隐藏它们真的不会给我带来性能吗issue@user685663当前位置下面是一个类似问题的答案:现在我有点困惑。。。我想我在页面上有5个用户控件,它会更重。。。所以我想动态添加控件,根据@Tim Schmelter的说法并非如此……我建议您自己尝试一下。在a**中处理动态添加的控件可能是一件很痛苦的事情,但可能会解决您遇到的问题。
   <asp:PlaceHolder id="myPlaceHolder" runat="server"></asp:PlaceHolder>
myControl = new UserControl();
myPlaceHolder.Controls.Add(myControl);