我正在开发一个asp.net Web应用程序,我在项目中预定义了面板 CSS。现在我想在运行时多次创建具有相同设计和CSS的另一个面板。我有一个按钮控件,当我点击该按钮时,它将添加另一个面板。
请帮我添加另一个符合相同条件的面板。
答案 0 :(得分:4)
如果您计划重复使用,我建议您使用用户控件。您只需在页面上添加控件的新实例即可。
值得关注的一些事情:
如果您想通过回发到页面来完成此操作,请将其添加到您的活动中......
//MyControl = Custom User Control
var myControl = (MyControl) Page.LoadControl("MyControl.ascx");
this.ControlContainer.Controls.Add(myControl);
答案 1 :(得分:1)
像RSolberg所说,你可以写一个用户控件并多次添加它:
<my:UserControl id="MyControl1" runat="server" />
<my:UserControl id="MyControl2" runat="server" />
<my:UserControl id="MyControl3" runat="server" />
当然,您的用户控件可以像您希望的那样简单或复杂,从而在您的页面上重复使用功能。
但是,根据您的确切需求,您可能需要考虑类似ASP.NET Repeater,ListView或DataGrid控件的内容。使用Repeater之类的东西,您可以将数据绑定到它,并将数据显示在列表/网格中,具有共同的外观。您也可以为Repeater提供标题,项目和页脚部分的HTML / CSS模板,使其看起来一致且专业。
<asp:Repeater id="MyRepeater" runat="server">
<HeaderTemplate>
<h1>Products</h1>
</HeaderTemplate>
<ItemTemplate>
<p>
Product name: <%# Eval("ProductName") %>
</p>
</ItemTemplate>
</asp:Repeater>
并在您的代码中执行此操作:
MyRepeater.DataSource = products;
MyRepeater.DataBind();
有许多方法可以在ASP.NET中执行您所要求的内容 - 更具体一点,我们将能够为您提供更具体的帮助。
答案 2 :(得分:-1)
难道你不能在按钮的“On_Click”事件后面的代码中创建一个新面板吗?那是我的建议。您可能需要使用占位符将面板添加到页面上以显示在页面上。