【问题标题】:can not close asp.net 4 ajax ModalPopupExtender无法关闭asp.net 4 ajax ModalPopupExtender
【发布时间】:2011-09-08 22:20:24
【问题描述】:

创建了一个简单的应用程序来保存数据。我想:
1.确认用户要保存数据(ConfirmButtonExtender)
2.通知用户数据保存成功(带面板的ModalPopupExtender)

aspx代码:

<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="false"
CodeFile="Default.aspx.vb" Inherits="_Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" PopupControlID="PanelSaveConfirmPopup"
    BehaviorID="ModalSaveConfirm" TargetControlID="PanelSaveConfirmPopup" DropShadow="true"
    CancelControlID="btnSaveConfirmedPopupOk">
</asp:ModalPopupExtender>
<asp:Panel ID="PanelSaveConfirmPopup" runat="server" Style="display: none;" BorderColor="Black"
    BorderStyle="Solid" BorderWidth="1px" Width="300px" Height="150px" BackColor="White"
    ForeColor="Black">
    <table width="99%">
        <tr>
            <td height="30">
            </td>
        </tr>
        <tr>
            <td align="center">
                <asp:Label ID="Label19" runat="server" Text="Your data has been saved."></asp:Label>
            </td>
        </tr>
        <tr>
            <td height="45">
            </td>
        </tr>
        <tr>
            <td align="center">
                <asp:Button ID="btnSaveConfirmedPopupOk" runat="server" Text="Okay" />
            </td>
        </tr>
    </table>
</asp:Panel>
<asp:Button ID="btnSave" runat="server" Text="Save" />
<asp:ConfirmButtonExtender ID="btnSave_ConfirmButtonExtender" runat="server" ConfirmText="Are you sure you want to save this?"
    Enabled="True" TargetControlID="btnSave">
</asp:ConfirmButtonExtender>
</asp:Content>

后面的代码:

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub btnSave_Click(sender As Object, e As System.EventArgs) Handles btnSave.Click
    ' Pretend to save data here
    ModalPopupExtender1.Show()
End Sub
End Class

我得到了两个弹出窗口 - 我的问题是 ModalPopupExtender 面板上的关闭按钮没有关闭 modalpopup。有任何想法吗?谢谢!

【问题讨论】:

    标签: asp.net ajax modalpopupextender


    【解决方案1】:

    我从链接中得到了一些提示,使其正常工作。将很快发布工作代码(我想我已经等待 24 小时来回答我自己的问题)。诀窍是创建一个虚拟按钮。虚拟按钮必须是 asp.net visible = true 但它可以使用 Style="display: none" 隐藏在 html 中

    工作代码是:

    <%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="false"
    CodeFile="Default.aspx.vb" Inherits="_Default" %>
    
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
    <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    </asp:Content>
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Button ID="btnSave" runat="server" Text="Save" />
    <asp:ConfirmButtonExtender ID="btnSave_ConfirmButtonExtender" runat="server" ConfirmText="Are you sure you want to save this?"
        Enabled="True" TargetControlID="btnSave">
    </asp:ConfirmButtonExtender>
    <!-- We have to have a dummy control to hold the start event we handle in code behind -->
    <asp:Button ID="MpeFakeTarget" runat="server" CausesValidation="False" Style="display: none" />
    <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" PopupControlID="PanelSaveConfirmPopup"
        BehaviorID="ModalSaveConfirm" TargetControlID="MpeFakeTarget" DropShadow="true"
        CancelControlID="btnSaveConfirmedPopupOk">
    </asp:ModalPopupExtender>
    <asp:Panel ID="PanelSaveConfirmPopup" runat="server" Style="display: none;" BorderColor="Black"
        BorderStyle="Solid" BorderWidth="1px" Width="300px" Height="150px" BackColor="White"
        ForeColor="Black">
        <table width="99%">
            <tr>
                <td height="30">
                </td>
            </tr>
            <tr>
                <td align="center">
                    <asp:Label ID="Label19" runat="server" Text="Your data has been saved."></asp:Label>
                </td>
            </tr>
            <tr>
                <td height="45">
                </td>
            </tr>
            <tr>
                <td align="center">
                    <asp:Button ID="btnSaveConfirmedPopupOk" runat="server" Text="Okay" />
                </td>
            </tr>
        </table>
    </asp:Panel>
    </asp:Content>
    

    我不确定我是否喜欢这两个弹出窗口不同的事实?首先是问人

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 2014-04-23
      • 2015-03-04
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多