0

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()でボタンを作成してみましたが、作成後にパネルにコントロールを追加しました。

助けや視界があれば幸いです

4

2 に答える 2

0

ModalPopupExtender にはプロパティ CancelcontrolID などがあります... TargetControlID を指定する場合は、CancelControlID も指定します

于 2012-12-14T08:48:24.637 に答える
0
        <ajaxToolkit:UpdatePanel ID="UpdatePanel3" runat="server">
        <ContentTemplate>
            <asp:Button ID="fake2" runat="server" Style="display: none" />
            <Ajax:ModalPopupExtender ID="mpe_Mail" runat="server" BackgroundCssClass="modalBackground"
                TargetControlID="fake2" PopupControlID="pnl_Mail" CancelControlID="btn_Close">
            </Ajax:ModalPopupExtender>
            <asp:Panel ID="pnl_Mail" runat="server" Style="display: none;" CssClass="modalBackground1">
                <table width="350" border="0" align="center" cellpadding="0" cellspacing="0" style="background: #fff;">
                    <tr>
                        <div class="Lecture-Planform-headx">
                            <asp:Label ID="lbl_Employer" runat="server" />
                        </div>
                    </tr>
                    <tr>
                        <td align="center">
                            <div>
                                --This is table--
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <div align="center">
                                <asp:Button ID="btn_Close" runat="server" CausesValidation="false" Text="Back" CssClass="activebutton2" OnClick="<--Add Your Function Hear-->" />
                            </div>
                        </td>
                    </tr>
                </table>
            </asp:Panel>
        </ContentTemplate>
    </ajaxToolkit:UpdatePanel>
于 2012-12-14T09:00:47.787 に答える