使用modelpopupextender时,ASP.NET按钮事件未触发

时间:2012-11-30 12:43:10

标签: c# asp.net .net modalpopupextender

我有一个Panel链接到ModelPopupExtenderand,第一个面板中有一个按钮。当我单击第一个面板的按钮时,我希望它执行该事件,在此事件中,我想弹出第二个Panel,它也链接到ModelPopupExtender,但是当我单击第一个Panel的按钮时,事件不会触发。

Asp代码:     

    

<input type="hidden" runat="server" id="hdnEditBank1" />
<asp:Panel runat="server" ID="pnl1" CssClass="Modal450h450w" Height="300px">
    <table id="tblEditBank1" runat="server">
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td align="right" colspan="2"><img runat="server" id="imgExitEdit1"  src="../images/Exit_cross.png" /></td>
        </tr>
        <tr>
            <td colspan="3">Name : </td>
            <td colspan="2"><telerik:RadTextBox ID="txt1" runat="server" CssClass="largebox"></telerik:RadTextBox></td>
        </tr>

        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>                            
            <td colspan="4">
                <asp:Button runat="server" ID="btnClose" Text="Close" OnClick="btnAdd_Close_Click" />                    
            </td>
            <td align="right">
                <asp:Button runat="server" ID="btnNext" Text="Next" OnClick="btnEdit_Next_Click" />
            </td>
        </tr>
    </table>
</asp:Panel>

<!-- second panel -->
<asp:ModalPopupExtender ID="ModalPopupExtender6" runat="server" TargetControlID="btnNext" OkControlID="imgExitEdit1"
    PopupControlID="pnl2" BackgroundCssClass="LoadingBackground" >
</asp:ModalPopupExtender>

<input type="hidden" runat="server" id="Hidden1" />
<asp:Panel runat="server" ID="pnl2" CssClass="Modal450h450w" Height="300px">
    <table id="Table1" runat="server">
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td align="right" colspan="2"><img runat="server" id="img1"  src="../images/Exit_cross.png" /></td>
        </tr>
        <tr>
            <td colspan="3">Some Label : </td>
            <td colspan="3"><telerik:RadTextBox ID="txtSomeText" runat="server" CssClass="largebox"></telerik:RadTextBox></td>
        </tr>        
        <tr>                            
            <td colspan="4">
                <asp:Button runat="server" ID="btnIbanClose" Text="Close" OnClick="btnAdd_Close_Click" />                    
            </td>
            <td align="right">
                <asp:Button runat="server" ID="btnIbanReview" Text="Next" OnClick="btnEdit_Next_Click" />
            </td>
        </tr>
    </table>
</asp:Panel>

背后的代码:

protected void btnEdit_Next_Click(object sender, EventArgs e)
{          
        ModalPopupExtender6.Show();
}

我在想它是关于AutoPostBack但我不知道如何解决这个问题

1 个答案:

答案 0 :(得分:1)

如果有人感兴趣,我已经找到了解决方法。

您需要做的是创建一个隐藏的输入字段并将TargetControlID设置为隐藏的控件,然后您就可以触发按钮事件。

<input type="hidden" runat="server" id="hdnNext" />

<asp:ModalPopupExtender ID="ModalPopupExtender6" runat="server" TargetControlID="hdnNext" OkControlID="imgExitEdit1"
    PopupControlID="pnlIban" BackgroundCssClass="LoadingBackground" >
</asp:ModalPopupExtender>

在这种情况下,输入字段用作Dummy控件,ModalPopupExtender指向和来自按钮事件,您可以控制要控制的其他ModalPopupExtender。