0

私はasp.net 4.0を使用しています。

今、次のような JavaScript を使用して、クライアント側でいくつかのコンテンツを作成したいと考えています。

<div id="xx" runat="server"></div>

次に、サーバー側で、このコントロールを取得して、次のようなコンテンツを入力します。

FindControl("xx").Controls.Add(....);

これはうまくいかないようです。サーバー側のプロセスはクライアント側のプロセスの前に動作するためです。

別のアイデアはありますか?

4

1 に答える 1

2

Asp.net は、ページにあるコントロールを認識する必要があります。JavaScript で要素を追加し、後でデータをバックエンドのコントロールに受け取ることは簡単ではありません。

これを行う正しい方法は、サーバー側でコントロールをコントロール コレクションに追加することです。

参照:方法: プログラムによって ASP.NET Web ページにコントロールを追加する

Label myLabel = new Label();
myLabel.ID = "myLabel";
myLabel.Text = "Sample Label";
Panel1.Controls.Add(myLabel);

コントロールがコントロールコレクションに追加されると、someContainer.Controls.Add次を使用してそれらを見つけることができますsomeContainer.FindControl

Label myLabel = (Label)someContainer.FindControl("myLabel");

コントロールを動的に追加するときに驚きを望まない場合は、 asp.net ページのライフ サイクルも完全に認識する必要があります。

于 2013-01-15T03:53:37.513 に答える