我正在一个asp.net web应用程序,其中我有我的项目预定义的面板与 CSS。现在我想在运行时多次创建具有相同设计和CSS的另一个面板。我有一个按钮控件,当我点击那个按钮时,它会添加另一个面板。我如何添加新的面板在运行时在asp.net
请帮我按照相同的标准添加另一个面板。
我正在一个asp.net web应用程序,其中我有我的项目预定义的面板与 CSS。现在我想在运行时多次创建具有相同设计和CSS的另一个面板。我有一个按钮控件,当我点击那个按钮时,它会添加另一个面板。我如何添加新的面板在运行时在asp.net
请帮我按照相同的标准添加另一个面板。
如果这是你打算重用的东西,我建议你利用这个用户控件。你可以简单地在页面上添加一个新的控件实例。
有几件事情值得探讨:
如果你想用回发到页面做到这一点,添加到您的活动...
//MyControl = Custom User Control
var myControl = (MyControl) Page.LoadControl("MyControl.ascx");
this.ControlContainer.Controls.Add(myControl);
想知道这是downvoted也许战术 – 2009-08-28 22:02:33
@Joel? :我在这么想,有点令人失望,但已经期待它了,至少亚历克斯给了我一半的信念:)我的想法:) – RSolberg 2009-08-28 22:07:39
谢谢你的建议。我跟着这个链接http://aspalliance.com/565,但是当我在没有母版页和CSS设计的简单页面中使用它时,它工作正常,但是当我尝试使用拥有Master Page的页面时,它没有显示任何东西。 这是bcoz设计还是由于其他原因。 – 2009-08-28 23:16:54
难道你不能只在按钮的“On_Click”事件后面的代码中创建一个新的面板?这将是我的建议。您可能需要有一个占位符将面板添加到页面上显示的内容中。
这里有很多问题 - 下次回传后会发生什么?此外,它不会重复使用现有面板的任何代码。 – 2009-08-28 21:10:49
根据设置的方式,可以使用AJAX进行回调以解决回发问题。还有其他问题是肯定的,但是当这些问题被发现时,可以修改答案来解决这些问题,因为我认为这些要求在这里没有经过深思熟虑。问题是关于在运行时加入面板。其他一切都是猜测。 – 2009-08-28 21:22:07
像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什么的许多方面 - 成为一个更具体一点,我们就可以给你更多的具体帮助。
我SOOOO要回答这个问题..但没有时间您要添加的ASP :( – madcolor 2009-08-28 20:58:44
做:面板 – 2009-08-29 07:02:15
是的,我想asp.net面板 – 2009-08-29 13:37:17