0
問題が発生しましたが、グーグルで試しましたが、解決策が見つかりませんでした。動的に作成されたTextBoxの値とASP.NETのDropDownListを取得する
私はPage_Load
でコントロールを動的に作成しました。固定ボタンがあります。
ボタンをクリックすると、そのコントロールでユーザー入力を取得する必要があります。
コントロールの一意のIDを使用してコントロールにアクセスしようとすると、実行時にコントロールが使用できないため、エラーが返されます。 :(Forループ
を - 私はFindControl
Btn_click
で関数を行う場合であっても
if (dr["Type"].ToString().Trim() == "DropDown")
{
DropDownList ddl = new DropDownList();
ddl.Id = "ddl" + Convert.ToString(Counter);
ddl.DataTextField = "Text";
ddl.DataValueField = "Value";
ddl.DataSource = ds1;
ddl.DataBind();
ddl.EnableViewState = true;
cell.Controls.Add(ddl);
}
else if (dr["QuestionType"].ToString().Trim() == "TextBox")
{
TextBox txt = new TextBox();
txt.ID = "txt" + Convert.ToString(Counter);
txt.EnableViewState = true;
cell.Controls.Add(txt);
}
row.Cells.Add(cell);
table.Rows.Add(row);
開始し、それはパネルが0のコントロールを持っていることを言う
var textbox = (TextBox)pnlMidTermFeedback.FindControl("txt5");
テキストボックスは、私が、常にNULLです。制御txt5
を持っている。私はF12を行うとき、私はそれを見ることができます。
Pリースヘルプ。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Set values and properties of controls specified in markup
...
}
// Create new controls and add them to the panel
...
}
彼らは、ボタンのイベントハンドラで利用できるようになり、ユーザーが入力したデータが含まれています。
私は、コントロールの詳細をViewstateに暗黙的に追加して解決しました。 –