0

実行時にボタンを作成しています。クリックすると、ajaxモデルのポップアップが開きます。しかし、モデルポップアップのターゲットコントロールIDをこの実行時に作成されたボタンIDに設定することはできません。誰かがこれを達成する方法を私に提案できますか?または別の方法がありますか?

私のコードは次のとおりです。これは私が実行時ボタンを作成する方法です。

 protected void grdSurveyMaster_ItemCreated(object sender, GridItemEventArgs e)
    {

        if (e.Item is GridFooterItem)
        {
            GridFooterItem footerItem = (GridFooterItem)e.Item;
            // RadScriptManager1.RegisterAsyncPostBackControl(btn);
            Button btn = new Button();
            btn.Text = "Take a new survey";
            btn.CommandName = "newAssess";
            btn.Click += new System.EventHandler(grdMasterbtnClick);
            footerItem.Cells[2].Controls.Add(btn);
            //ModalPopupExtender1.TargetControlID = "btn";// Convert.ToString(Page.FindControl(Convert.ToString(btn.ClientID)));

        }
    }

そして以下は私のHTMlです

<asp:UpdatePanel ID="updatepanel1" runat="server">
        <ContentTemplate>
            <cc1:ModalPopupExtender CancelControlID="btnCancel" PopupControlID="modelPopUp" ID="ModalPopupExtender1"
                runat="server" TargetControlID="btnDefault">
            </cc1:ModalPopupExtender>
            <asp:Button ID="btnDefault" runat="server" Visible="false" />
            <asp:Panel ID="modelPopUp" runat="server" Visible="false" BackColor="AliceBlue">
                <p>
                    These items will be permanently deleted and cannot be recovered. Are you sure?
                </p>
                <asp:Button ID="btnOk" Text="OK" runat="server" />
                <asp:Button ID="btnCancel" Text="Cancel" runat="server" />
            </asp:Panel>
        </ContentTemplate>
    </asp:UpdatePanel>
4

1 に答える 1

1

ポップアップの TargetControl を目に見えない未使用のボタンに正しく設定しています。ポップアップを表示/非表示にする最良の方法は、Javascript を使用することです。このためには、ModalPopupExtender の behaviorid="someString" を設定し、次のような JavaScript 関数を作成する必要があります。

function ShowModalPopup(behaviourId) {
$find(behaviourId).show();
}

次に、javascript 関数をボタンに割り当てることができます。

btn.OnClientClick = String.Format("ShowModalPopup('{0}')", 
    ModalPopupExtender1.behaviorid);
于 2012-05-23T07:30:58.013 に答える