C# 带有TargetControlID的弹出问题

C# 带有TargetControlID的弹出问题,c#,asp.net,ajax,C#,Asp.net,Ajax,我试图在将一些数据保存到数据库后弹出一个窗口。使用ConfirmButtonExtender和ModalPopupXtender时,它会要求提供TargetControlID。所以我给了TargetcontrolID作为提交按钮。因此,无论何时单击submit按钮,它都会显示弹出窗口,首先显示“您的密码已成功保存”。关闭弹出窗口后,它会将信息保存在数据库中。不应该是这样。它必须首先将信息保存在数据库中,如果成功保存密码,则应显示弹出窗口。你认为我应该换什么?请帮忙 <cc1:Confirm

我试图在将一些数据保存到数据库后弹出一个窗口。使用ConfirmButtonExtender和ModalPopupXtender时,它会要求提供TargetControlID。所以我给了TargetcontrolID作为提交按钮。因此,无论何时单击submit按钮,它都会显示弹出窗口,首先显示“您的密码已成功保存”。关闭弹出窗口后,它会将信息保存在数据库中。不应该是这样。它必须首先将信息保存在数据库中,如果成功保存密码,则应显示弹出窗口。你认为我应该换什么?请帮忙

<cc1:ConfirmButtonExtender DisplayModalPopupID="ModalPopupExtendersave" ID="ConfirmButtonExtendersave"
    runat="server" TargetControlID="imgbtnSubmit">
</cc1:ConfirmButtonExtender>
<cc1:ModalPopupExtender ID="ModalPopupExtendersave" runat="server" TargetControlID="imgbtnSubmit" BackgroundCssClass="modalBackground"
    OkControlID="btnOK" PopupControlID="pnlPopup" >
</cc1:ModalPopupExtender>




protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{
    if (txtpassword1.Text != "" && txtpassword2.Text != "" && txtpassword1.Text == txtpassword2.Text)
    {
        Savepassword();

        if (Savepassword())
        {
            ModalPopupExtendersave.Show();
            pnlPopup.Visible = true;
        }
        else
        {
            lblerror.Text = "Error in saving password";
        }
    }

}

受保护的无效imgbtnSubmit\u单击(对象发送者,ImageClickEventArgs e)
{
if(txtpassword1.Text!=''&&txtpassword2.Text!=''&&txtpassword1.Text==txtpassword2.Text)
{
Savepassword();
if(Savepassword())
{
ModalPopupExtendersave.Show();
pnlPopup.Visible=true;
}
其他的
{
lblerror.Text=“保存密码时出错”;
}
}
}

谢谢大家

添加带有visible equal false的LinkButton或Button控件并将其设置为TargetControlID,然后在ModalPoppeXtender控件的代码隐藏调用显示方法中。

添加带有visible equal false的LinkButton或Button控件并将其设置为TargetControlID,然后,在ModalPopupExtender控件的代码隐藏调用显示方法中。

我同意DEVMBM的观点-下面是一个示例:

<script runat="server">
    protected void btnShowModal_Click(object sender, EventArgs e)
    {
        // do stuff here - e.g. save password to database

        // show modal popup
        mpeModalDemo.Show();
    }
</script>

<asp:ImageButton
    ID="btnShowModal"
    OnClick="btnShowModal_Click"
    CausesValidation="false"
    runat="server" />

<asp:Button
    ID="btnFakeTarget"
    CausesValidation="False"
    Style="display: none"
    runat="server" />

<ajax:ModalPopupExtender
    ID="mpeModalDemo"
    BackgroundCssClass="modalBackground"
    PopupControlID="pnlModalDemo"                    
    TargetControlID="btnFakeTarget"
    PopupDragHandleControlID="pnlModalDemo"
    runat="server" />

<asp:Panel
    ID="pnlModalDemo"
    style="display:none;"
    runat="server">

    <asp:UpdatePanel ID="updModalDemo" UpdateMode="Conditional" runat="server">
        <ContentTemplate>

            <style type="text/css">
                .modalBackground {
                    background-color: #000000;
                    filter: alpha(opacity=40);
                    opacity: 0.7;
                }
            </style>

            <!-- modal popup content here -->

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnShowModal" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
</asp:Panel>

受保护的void btnshowmodel_单击(对象发送方,事件参数e)
{
//在此处执行操作-例如,将密码保存到数据库
//显示模式弹出窗口
mpeModalDemo.Show();
}
莫达尔巴基德先生{
背景色:#000000;
过滤器:α(不透明度=40);
不透明度:0.7;
}

我同意DEVMBM-以下是一个示例:

<script runat="server">
    protected void btnShowModal_Click(object sender, EventArgs e)
    {
        // do stuff here - e.g. save password to database

        // show modal popup
        mpeModalDemo.Show();
    }
</script>

<asp:ImageButton
    ID="btnShowModal"
    OnClick="btnShowModal_Click"
    CausesValidation="false"
    runat="server" />

<asp:Button
    ID="btnFakeTarget"
    CausesValidation="False"
    Style="display: none"
    runat="server" />

<ajax:ModalPopupExtender
    ID="mpeModalDemo"
    BackgroundCssClass="modalBackground"
    PopupControlID="pnlModalDemo"                    
    TargetControlID="btnFakeTarget"
    PopupDragHandleControlID="pnlModalDemo"
    runat="server" />

<asp:Panel
    ID="pnlModalDemo"
    style="display:none;"
    runat="server">

    <asp:UpdatePanel ID="updModalDemo" UpdateMode="Conditional" runat="server">
        <ContentTemplate>

            <style type="text/css">
                .modalBackground {
                    background-color: #000000;
                    filter: alpha(opacity=40);
                    opacity: 0.7;
                }
            </style>

            <!-- modal popup content here -->

        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnShowModal" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
</asp:Panel>

受保护的void btnshowmodel_单击(对象发送方,事件参数e)
{
//在此处执行操作-例如,将密码保存到数据库
//显示模式弹出窗口
mpeModalDemo.Show();
}
莫达尔巴基德先生{
背景色:#000000;
过滤器:α(不透明度=40);
不透明度:0.7;
}

@Ram:看起来您还可以摆脱ConfirmButtonExtender。在这种情况下,它什么也没做。太棒了!非常感谢大家!:)@Ram:看起来您还可以摆脱ConfirmButtonExtender。在这种情况下,它什么也没做。太棒了!非常感谢大家!:)