IsPostBackパラメータがtrueのときにページ読み込み時にプログラムで作成されたasp.netコントロールでプロパティ(例:Text
)を取得するにはどうすればよいですか?asp-controlで 'Text'プロパティを取得できません
スキーマ:ページ内のコントロールを作成する
- (例えば
TextBox box = new TextBox(); box.ID = "BoxID"
) - 表示制御(例えば
SomeControlInPageID.Controls.Add(box)
) - ユーザーは、IDで(このテキストボックスを参照してください、私たちはに可能性を持っていませんコントロールはプログラムで作成されたので、
BoxID.Text
を取得してください!)にテキストを入力します。 - ユーザーがページ内のボタン(asp:ボタン)をクリックして開始ページrel ... oadingプロセス
- 開始Page_Loadメソッド& IsPostBackプロパティパラメータが
iはPage_Loadメソッドで
Text
プロパティを取得するには、このコードを使用しようとする真の値を取るが、それが動作していない:void Page_Load() { if (Page.IsPostBack) { TextBox box = SomeControlInPageID.FindControl("BoxID") as TextBox; string result = box.Text; } else { // creating controls programatically and display them in page ... } }
box.Text
は常にnull値をとります。
テキストボックスコントロールを作成するイベントです。おそらくそれはページのInitイベントでなければなりません。ポストバック中にコントロールにアクセスする前にコントロールを再作成する必要があります – MUS
@Romanこの問題は何かありましたか? – rsbarro