2009-08-28 14 views
3

私は CSSで私のプロジェクトでパネルを定義済みのasp.net Webアプリケーションで作業しています。今私は同じデザインとCSSを複数の時間で実行時に別のパネルを作成したい。ボタンをクリックすると別のパネルが追加されます。asp.netの実行時に新しいパネルを追加するには

同じ基準で別のパネルを追加してください。

+0

私はサイコー。これに答えるためにしたいが、時間:( – madcolor

+0

あなたがASPを追加したいん必要はありません?パネル –

+0

これがdownvotedれた理由はい私が望むasp.netパネル –

答えて

4

再利用を計画している場合は、このためにユーザーコントロールを利用することをお勧めします。ページ上にコントロールの新しいインスタンスを追加するだけです。

に探して価値があるいくつかの事:ページへのポストバックでこれを実現したい場合は

  1. http://aspnet.4guysfromrolla.com/articles/081402-1.aspx
  2. http://aspalliance.com/565
  3. http://msdn.microsoft.com/en-us/library/c0az2h86.aspx

、あなたのイベントにこれを追加...

//MyControl = Custom User Control 
var myControl = (MyControl) Page.LoadControl("MyControl.ascx"); 
this.ControlContainer.Controls.Add(myControl); 
+1

はたぶん、戦術ワンダー –

+0

@Joel。?私はそう思っていますが、失望していますが、それを期待してきました。少なくともアレックスは私の考えの半分を信じてくれました:) – RSolberg

+0

ありがとうございます。私はこのリンクhttp://aspalliance.com/565をたどったが、マスターページとCSSデザインがない単純なページでこれを使用しているときは問題なく動作しているが、マスターPagethenのページには何も表示されていない。 これはbcozデザインなのか、何か他のもののためです。 –

-1

ボタンの "On_Click"イベントのコードの後ろに新しいパネルを作成することはできませんでしたか?それが私の提案です。パネルをページに追加するために、パネルを追加するためのプレースホルダが必要な場合があります。

+0

多くの問題があります。次のポストバック後に何が起こりますか?さらに、既存のパネルのコードを再利用することはありません。 –

+0

この設定方法に応じて、ポストバックに関する質問のためにAJAXを使用するコールバックがあります。他にも問題があるかもしれませんが、これらが見つかるにつれて、要件がここで十分に考え出されたとは思わないので、答えが改訂されてそれらに対処できるようになります。問題は、実行時にパネルに入れることです。他のすべては推測です。 –

1

RSolbergあなたはユーザーコントロールを作成し、それを複数回追加することができ、言ったように:もちろん

<my:UserControl id="MyControl1" runat="server" /> 
<my:UserControl id="MyControl2" runat="server" /> 
<my:UserControl id="MyControl3" runat="server" /> 

、ユーザーコントロールは、このようにあなたの上の繰り返し機能性を有する、あなたが好きなように単純なもののように複雑になることがありますページ。

ただし、正確なニーズに応じて、ASP.NETリピータ、ListView、またはDataGridコントロールなどを検討してください。 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に求めているものを行うための多くの方法があります - もう少し具体的に、私たちのことができるようになりますより具体的なヘルプを提供します。

関連する問題