我正在一個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