09/05/13 19:23:50 EB+s12M/
.NET Framework 3.0のPage.PreviousPage.FindControlについて教えてください。
トップページにある「発言ボックス」に入力した文字列を、表示ページにて表示したいのですが
テキストボックスを参照できなくて困っています。
マスターテンプレート(Template.master)
┗トップページ (Default.aspx)
┗ユーザコントロール(Hatsugen.ascx ID=hatsu)
・テキストボックス コントロール(ID=moshi)
・ボタン コントロール(botan)
マスターテンプレート(Template.master)
┗表示ページ (showhatsugen.aspx)
という2つのページ(階層)があるのですが、トップページ側のボタンコントロールで
PostBackUrl="showhatsugen.aspx" としています。
showhatsugen.aspx側で、@ITの記事を参考にテキストボックス(moshi)を参照しているのですが
nullが返ってきてしまいます。
■試したこと
①@ITの記事のまんま試してみた。
TextBox a = (TextBox)Page.PreviousPage.FindControl("moshi");
②ユーザコントロールも参照しないとだめかもと試してみた。
TextBox a = (TextBox)Page.PreviousPage.FindControl("hatsu").FindControl("moshi");
③テンプレートもいれないとだめかもと思って試してみた。
TextBox a = (TextBox)Page.PreviousPage.Master.FindControl("hatsu").FindControl("moshi");
上記のような階層の場合、どのように値を参照できるか教えてください。
■参考にした@ITの記事
URLリンク(www.atmarkit.co.jp)