2011-07-14 2 views
0

Findコントロールが動的チェックボックスで機能しないようです。私がやろうとしていることは、ユーザーがチェックボックスをチェックしたのかどうか、最終的にはチェックボックスがあることです。FindControlはダイナミックチェックボックスで動作しません

私は私が私のコードを実行すると、それは、印刷しかし、それは印刷されません、「テキストボックスの親である」ん、適切

public void test() 
{ 
    // Find control on page. 
    CheckBox myControl1 = (CheckBox)Table1.FindControl("CBX0"); 
    if (myControl1 != null) 
    { 
     // Get control's parent. 
     Control myControl2 = myControl1.Parent; 
     Response.Write("Parent of the text box is : " + myControl2.ID); 
     if (myControl1.Checked == true) 
     { 
      Response.Write("check box checked"); 
     } 
    } 
    else 
    { 
     Response.Write("Control not found"); 
    } 
} 


働いているかどうかを確認するテストを持っている私のコードで

親、これはmycontrol2.idであるはずです。

+1

myControl2を書き込んだものを考慮すると、Nullにはできません。この時点でIDは空でもかまいませんか? – Tigran

+0

Table1のコードを投稿できますか?テストメソッドをどのように呼び出しているのかをコード化していますか? –

答えて

1

おそらく親コントロールにはIDがありません。

代わりにしてみてください:

Response.Write("Parent of the text box is : " + myControl2); 

は親の種類を見つけるために。私は、親があなたが間違っているテーブルであることを期待していると思います。おそらくTableCellになるでしょう。

+0

はい、あなたは正しいです。テーブルだけがidを持っていて、行またはセルにidがありませんでした。ありがとう – dweremeichik

0

myControl2はおそらく階層の上位です。コントロールを見つけるために階層をドリルアップし続けると、mycontrol1.Parent.Parent以上の親参照があります。 ASP.NETは時には他のコントロールを階層に配置するため、直接の親ではない場合があります。

HTH。

+0

あなたはかなり正しいです、ありがとうございます;私はちょうど私が答えを持っていると言ったときにこれを発見した、私はそれを考えるために停止しなかった、私のチェックボックスはテーブルの内側にあります...つまり、私はIDを与えなかった行とセルがあることを意味します。なぜそれが親があることを認識したのかを説明するが、存在しなかった何かを尋ねていた。 – dweremeichik

0

チェックボックスを作成するときに、runat = "server"がありますか?

+0

チェックボックスのようなすべてのASP.NETコントロールは、 'runat =" server "'暗黙的に。 http://mikeschinkel.com/blog/whyrunatserverforaspnetpart2/ –

+1

ツールボックスを使用して追加している場合です。手動でaspxを入力している場合は、入力しない限りそのaspxはありません。 – Rezler

+0

@Rezler(人々に対処するために@ -signを使用します。そうでない場合は情報を取得しません):コードビハインドで 'runat =" server "'を追加しないと自動的に取得されます。 aspx-markupから除外すると、ASP.NET例外が発生します。しかし、OPは彼がチェックボックスを動的に(コードビハインドからの手段)を追加したと述べたので、彼は手動でそれを追加する必要はありません。 –

0

このテストメソッドはいつ呼び出すのですか? onPreRenderを呼び出すと、IDを返す必要があります。動的にコントロールを作成してページに追加し、nny IDを割り当てない場合は、ブラウザにレンダリングする前に.netを割り当てます。

関連する問題