首页 > 解决方案 > 我正在尝试使用按钮单击关闭 modelpopupextender,此按钮属于另一个表单,因此 modelpopupextender 无法访问它

问题描述

我正在尝试使用按钮单击关闭 modelpopupextender,此按钮属于另一个表单,因此 modelpopupextender 无法访问。

我已尝试按照建议删除更新面板,但它不起作用。

这是我的 form1.aspx(其中包括一个按钮,onclick 将显示一个 ModalPopupExtender,其中包括网格视图)

<asp:Button id="btnclick" text="Show Modal Popup" runat="server" >
</asp:Button>
<cc1:ModalPopupExtender ID="ModelPopupExtender1" runat="server"
PopupControlID="pc" TargetControlID="btnclick" OkControlID ="Button2"
CancelControlID="Button1" BackgroundCssClass="bcc" BehaviorID="MPE1">
</cc1:ModalPopupExtender>
<asp:Panel ID="pc" runat="server" CssClass="pop" Style="display:none;">
<iframe style="width:1003px;height:550px;" id="if"src="EstPopUp.aspx" runat="server"></iframe>
</asp:Panel>

这是我的 EstPopUp.aspx(其中 gridview 显示保存和取消按钮)

<asp:GridView ID="gvContacts" runat="server" AutoGenerateColumns="false" CellPadding="5"  DataKeyNames="EstimateBreakUpTypeId" OnSelectedIndexChanged="gvContacts_SelectedIndexChanged" OnRowDataBound="gvContacts_RowDataBound" >
<Columns>
<asp:TemplateField HeaderText="DispOrder">
<ItemTemplate>
<center>
<asp:TextBox ID="TextBox1" width="20px" runat="server" Text='<%#
Bind("DispOrder") %>'></asp:TextBox>
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="EstBreakUpName">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"  ></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Percentage(%)">
<ItemTemplate>
<center>
<asp:TextBox ID="TextBox2" Width="30px" runat="server"></asp:TextBox>
</center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Amount">
<ItemTemplate>
<asp:TextBox ID="TextBox3"  runat="server" CssClass="sum"  ></asp:TextBox>
<cc1:FilteredTextBoxExtender ID="fte" runat="server" Enabled="true"
TargetControlID="TextBox3" FilterType="Numbers,Custom" ValidChars=".">
</cc1:FilteredTextBoxExtender>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br/>
<asp:Button ID="Button1" runat="server" Text="Save" OnClick="Button1_Click"></asp:Button>       
<asp:Button class="abc" ID="Button2" runat="server" Text="Cancel" CssClass=".cancel" OnClick="Button2_Click1"></asp:Button >
<br />

</asp:GridView>

我的预期结果是,当单击取消按钮时,模型弹出窗口应该消失。

标签: c#asp.net

解决方案


试试这个,效果很好。

protected void Button2_Click(object sender, EventArgs e)
    {
            string url = " form1.aspx";
            Response.Write("<script>top.location='" + url + "';parent.location='" + url + "';</script>");   
    }

推荐阅读