asp.netページ内でボタンが起動しないという問題があり、誰かがこの問題を確認できるかどうか疑問に思っていました。
最初に知っておく必要があるのは、私はmodalpopupexntenderを使用してパネルをポップアップし、最後のパネルで既存のパネルに動的にコントロールを追加し始めることです。
これが存在するパネルであり、コントロールは動的に追加されます
<asp:ModalPopupExtender ID="ModalPopupExtender10" runat="server" TargetControlID="hndPage5" OkControlID="imgExitEdit1"
PopupControlID="pnlReview" BackgroundCssClass="LoadingBackground" >
</asp:ModalPopupExtender>
<input type="hidden" runat="server" id="hndPage5" />
<asp:Panel runat="server" ID="pnlReview" CssClass="Modal450h450w" Height="300px">
This is table
</asp:Panel>
このコードセグメントから上記のパネルにコントロールを追加し始めます。また、このイベントはボタン付きの別のモーダルポップアップエクステンダーからのものです。
protected void btnReview_Button_Click(object sender, EventArgs e)
{
HtmlTable table = new HtmlTable();
DataTable tblBillingAddress = Members.MemberBillingAddressSearch(MemberID);
for (int i = 0; i < tblBillingAddress.Columns.Count; i++)
{
CreateRow(tblBillingAddress.Columns[i].ColumnName.ToString(), tblBillingAddress.Rows[0][tblBillingAddress.Columns[i].ColumnName].ToString(), table);
}
Button btn = (Button)sender;
if (btn.ID == "btnIbanReview")
{
CreateRow("thing", thing.Text, table);
CreateRow("other", other.Text, table);
}
else if (btn.ID == "btnrrTReview")
{
CreateRow("this", this.Text, table);
}
Button btnBack = new Button();
Button btnConfirm = new Button();
btnBack.ID = "btnReviewClose";
btnConfirm.ID = "btnReviewConfirm";
btnBack.Text = "Back";
btnConfirm.Text = "Confirm";
btnBack.Click += new EventHandler(this.btnAdd_Close_Click);
btnConfirm.Click += new EventHandler(this.btnConfirm_Click);
HtmlTableCell cell1 = new HtmlTableCell();
HtmlTableCell cell2 = new HtmlTableCell();
cell1.Controls.Add(btnBack);
cell2.Controls.Add(btnConfirm);
HtmlTableRow rr = new HtmlTableRow();
rr.Cells.Add(cell1);
rr.Cells.Add(cell2);
table.Rows.Add(rr);
pnlReview.Controls.Add(table);
pnlReview.Visible = true;
ModalPopupExtender10.Show();
}
CreateRow()メソッドは次のとおりです。
private void CreateRow(string heading, string value, HtmlTable hTable)
{
HtmlTableRow row = new HtmlTableRow();
HtmlTableCell cHeading = new HtmlTableCell();
HtmlTableCell cValue = new HtmlTableCell();
cHeading.InnerText = heading;
cHeading.Style.Add("font-weight", "bold");
row.Cells.Add(cHeading);
cValue.InnerText = value;
row.Cells.Add(cValue);
hTable.Rows.Add(row);
}
そして、これが私が作成したイベントです:
void btnConfirm_Click(object sender, EventArgs e)
{
ModalPopupExtender10.Hide();
}
Page_Init()、Page_Onit()、Page_Load()でボタンを作成してみましたが、作成後にパネルにコントロールを追加しました。
助けや視界があれば幸いです