【问题标题】:Modal popup extender using asp.net使用 asp.net 的模态弹出扩展器
【发布时间】:2016-11-29 15:15:01
【问题描述】:

我在 asp.net 中使用模态弹出扩展器来显示模态弹出窗口。当我成功单击目标按钮模式弹出显示时,如果单击取消按钮,它也会成功关闭。但我的问题是,当我再次单击浏览器后退按钮时,会显示模态弹出按钮,但我不想显示模态弹出窗口,请让我摆脱这个问题。代码如下

<asp:Button ID="Button1" runat="server" Text="Edit" CssClass="btndesign" Style="display: none" />
    <asp:ModalPopupExtender ID="modalpopup" runat="server" TargetControlID="Button1" CancelControlID="cancel" PopupControlID="panel" BackgroundCssClass="modalBackground"></asp:ModalPopupExtender>
    <asp:Panel ID="panel" runat="server" Style="background: linear-gradient(to top,#ffffff 0%, #f1f6f9  50%); width: 31%; display: none">
        <asp:Button ID="cancel" runat="server" Text="X" Style="float: right; margin-top: 9px; margin-right: 3px; background: #ef5350; border-color: #ef5350; color: #fff; font-size: 11px; padding-top: 3px; padding-bottom: 3px;" />
        <h4 style="text-align: left; background-color: #fff; padding: 2%; margin-top: 5px;">Business</h4>
        <table>
            <tbody>
                <tr>
                    <td>EIN</td>
                    <td>
                        <asp:TextBox ID="editein" runat="server" MaxLength="9" ValidationGroup="editgroup" Style="margin-bottom: 10px;"></asp:TextBox>
                        <asp:FilteredTextBoxExtender ID="editfteein" runat="server" TargetControlID="editein" ValidChars="0123456789"></asp:FilteredTextBoxExtender>
                        <asp:RequiredFieldValidator ID="editrequired" runat="server" SetFocusOnError="true" ControlToValidate="editein" ErrorMessage="Please Enter EIN Number" Display="None" ValidationGroup="editgroup"></asp:RequiredFieldValidator>
                        <asp:ValidatorCalloutExtender ID="editvce" runat="server" TargetControlID="editrequired" PopupPosition="Right"></asp:ValidatorCalloutExtender>
                        <asp:RegularExpressionValidator ID="editexpression" runat="server" SetFocusOnError="true" ControlToValidate="editein" ErrorMessage="EIN Must be of 9 digits" ValidationExpression="^\d{9}$" ValidationGroup="editgroup"></asp:RegularExpressionValidator>
                        <asp:ValidatorCalloutExtender ID="editexpvce" runat="server" TargetControlID="editexpression" PopupPosition="Right"></asp:ValidatorCalloutExtender>
                    </td>
                </tr>
                <tr>
                    <td>Business Name</td>
                    <td>
                        <asp:TextBox ID="editname" runat="server" MaxLength="50" ValidationGroup="editgroup" Style="margin-bottom: 10px;"></asp:TextBox>
                        <asp:FilteredTextBoxExtender ID="editftebusinessname" runat="server" TargetControlID="editname" ValidChars="&#()' -" FilterType="LowercaseLetters,UppercaseLetters,Numbers,Custom"></asp:FilteredTextBoxExtender>
                        <asp:RequiredFieldValidator ID="editrfvbusinessname" runat="server" SetFocusOnError="true" ControlToValidate="editname" ErrorMessage="Please enter business name here" Display="None" ValidationGroup="editgroup"></asp:RequiredFieldValidator>
                        <asp:ValidatorCalloutExtender ID="editvcebusinessname" runat="server" TargetControlID="editrfvbusinessname" PopupPosition="Right"></asp:ValidatorCalloutExtender>
                        <asp:RegularExpressionValidator ID="editrevbusninessname" runat="server" SetFocusOnError="true" ControlToValidate="editname" ErrorMessage="Please enter valid business name" ValidationExpression="^[a-zA-Z0-9#&()'\s-]{4,75}$" Display="None" ValidationGroup="editgroup"></asp:RegularExpressionValidator>
                        <asp:ValidatorCalloutExtender ID="editvcerevbusninessname" runat="server" TargetControlID="editrevbusninessname" PopupPosition="Right"></asp:ValidatorCalloutExtender>
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td>
                        <asp:CheckBox ID="changeaddress" runat="server" Text="Address changed from last filing" Style="margin-bottom: 10px;" />
                    </td>
                </tr>
                <tr>
                    <td>Address Line</td>
                    <td>
                        <asp:TextBox ID="editaddress" runat="server" MaxLength="50" Style="margin-bottom: 10px;"></asp:TextBox>
                        <asp:FilteredTextBoxExtender ID="editfteaddress" runat="server" TargetControlID="editaddress" FilterType="LowercaseLetters,UppercaseLetters,Numbers,Custom" ValidChars=" -/"></asp:FilteredTextBoxExtender>
                        <asp:RequiredFieldValidator ID="editrfvaddress" runat="server" ControlToValidate="editaddress" SetFocusOnError="true" ErrorMessage="Please enter address" Display="None" ValidationGroup="editgroup"></asp:RequiredFieldValidator>
                        <asp:ValidatorCalloutExtender ID="editvceaddress" runat="server" TargetControlID="editrfvaddress" PopupPosition="Right"></asp:ValidatorCalloutExtender>
                        <asp:RegularExpressionValidator ID="editrevaddress" runat="server" ControlToValidate="editaddress" SetFocusOnError="true" ErrorMessage="Please enter valid address" Display="None" ValidationExpression="[A-Za-z0-9]( ?[A-Za-z0-9\-/])*" ValidationGroup="editgroup"></asp:RegularExpressionValidator>
                        <asp:ValidatorCalloutExtender ID="editrevvceaddress" runat="server" TargetControlID="editrevaddress" PopupPosition="Right"></asp:ValidatorCalloutExtender>
                    </td>
                </tr>
                <tr>
                    <td>Address Line 2</td>
                    <td>
                        <asp:TextBox ID="editadd2" runat="server" MaxLength="50" Style="margin-bottom: 10px;"></asp:TextBox>
                        <asp:FilteredTextBoxExtender ID="editfteaddress2" runat="server" TargetControlID="editadd2" FilterType="LowercaseLetters,UppercaseLetters,Numbers,Custom" ValidChars=" -/"></asp:FilteredTextBoxExtender>
                    </td>
                </tr>
                <tr>
                    <td>City</td>
                    <td>
                        <asp:TextBox ID="editcity" runat="server" MaxLength="30" Style="margin-bottom: 10px;"></asp:TextBox>
                        <asp:FilteredTextBoxExtender ID="editftecity" runat="server" TargetControlID="editcity" FilterType="LowercaseLetters,UppercaseLetters,Numbers,Custom" ValidChars=" "></asp:FilteredTextBoxExtender>
                        <asp:RequiredFieldValidator ID="editrfvcity" runat="server" ControlToValidate="editcity" ErrorMessage="Please enter city name" SetFocusOnError="true" ValidationGroup="editgroup" Display="None"></asp:RequiredFieldValidator>
                        <asp:ValidatorCalloutExtender ID="editvcecity" runat="server" TargetControlID="editrfvcity" PopupPosition="Right"></asp:ValidatorCalloutExtender>
                    </td>
                </tr>
                <tr>
                    <td>State</td>
                    <td>
                        <asp:TextBox ID="txtState" runat="server" CssClass="txtbox" ValidationGroup="BusinessDetails"
                            Visible="false" MaxLength="30"></asp:TextBox>
                        <asp:FilteredTextBoxExtender ID="fteState" runat="server" TargetControlID="txtState"
                            FilterType="LowercaseLetters,UppercaseLetters,Custom" ValidChars=" ">
                        </asp:FilteredTextBoxExtender>
                        <asp:RequiredFieldValidator ID="rfvState" runat="server" ControlToValidate="txtState"
                            ErrorMessage="Please enter your state here" Display="None" ValidationGroup="BusinessDetails">
                        </asp:RequiredFieldValidator>
                        <asp:ValidatorCalloutExtender ID="vce_rfvState" runat="server" PopupPosition="Right"
                            TargetControlID="rfvState" HighlightCssClass="errorField">
                        </asp:ValidatorCalloutExtender>
                        <asp:RegularExpressionValidator ID="revState" runat="server" ControlToValidate="txtState"
                            SetFocusOnError="True" Display="None" ErrorMessage="Please enter valid state name"
                            ValidationExpression="[A-Z,a-z ]{1,50}" ValidationGroup="BusinessDetails"> 
                        </asp:RegularExpressionValidator>
                        <asp:ValidatorCalloutExtender ID="vce_revState" runat="server" PopupPosition="Right"
                            TargetControlID="revState" HighlightCssClass="errorField">
                        </asp:ValidatorCalloutExtender>
                        <asp:DropDownList ID="ddlState" runat="server" CssClass="txtbox" Style="width: 300px">
                        </asp:DropDownList>
                        <asp:RequiredFieldValidator ID="rfvStateddl" runat="server" ControlToValidate="ddlState"
                            ErrorMessage="Please select state" InitialValue="0" Display="None" ValidationGroup="BusinessDetails">
                        </asp:RequiredFieldValidator>
                        <asp:ValidatorCalloutExtender ID="vce_rfvStateddl" runat="server" PopupPosition="Right"
                            TargetControlID="rfvStateddl" HighlightCssClass="errorField">
                        </asp:ValidatorCalloutExtender>
                    </td>
                </tr>
                <tr>
                    <td>Country</td>
                    <td>

                        <asp:DropDownList ID="editcontry" runat="server" CssClass="txtbox" Style="margin-bottom: 10px; width: 300px"
                            AutoPostBack="true" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged">
                            <asp:ListItem Text="United States of America" Value="US"></asp:ListItem>
                            <asp:ListItem Text="Canada" Value="CA"></asp:ListItem>
                            <asp:ListItem Text="Mexico" Value="MX"></asp:ListItem>
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td>Zip</td>
                    <td>
                        <asp:TextBox ID="txtZip" runat="server" CssClass="txtbox" ValidationGroup="BusinessDetails"
                            MaxLength="12"></asp:TextBox>
                        <asp:FilteredTextBoxExtender ID="fteZip" runat="server" TargetControlID="txtZip"
                            FilterType="LowercaseLetters,UppercaseLetters,Numbers,Custom" ValidChars=" "
                            Enabled="false">
                        </asp:FilteredTextBoxExtender>
                        <asp:FilteredTextBoxExtender ID="fteZipUS" runat="server" TargetControlID="txtZip"
                            FilterType="Numbers" Enabled="false">
                        </asp:FilteredTextBoxExtender>
                        <asp:RequiredFieldValidator ID="rfvZip" runat="server" ControlToValidate="txtZip"
                            ErrorMessage="Please enter your zip code here" Display="None" ValidationGroup="BusinessDetails">
                        </asp:RequiredFieldValidator>
                        <asp:ValidatorCalloutExtender ID="vce_rfvZip" runat="server" PopupPosition="Right"
                            TargetControlID="rfvZip" HighlightCssClass="errorField">
                        </asp:ValidatorCalloutExtender>
                        <asp:RegularExpressionValidator ID="revZip" runat="server" ControlToValidate="txtZip"
                            SetFocusOnError="True" Display="None" ErrorMessage="Please enter valid zip code"
                            ValidationExpression="[0-9]{5}(([0-9]{4}))?" ValidationGroup="BusinessDetails"> 
                        </asp:RegularExpressionValidator>
                        <asp:ValidatorCalloutExtender ID="vce_revZip" runat="server" PopupPosition="Right"
                            TargetControlID="revZip" HighlightCssClass="errorField">
                        </asp:ValidatorCalloutExtender>
                    </td>
                </tr>
            </tbody>
        </table>
        <div style="background: #5f9fa1; padding: 2%;">
            <asp:CheckBox ID="updatemaster" runat="server" Text="Also Update Master Business Info" required=""></asp:CheckBox>
            <asp:Button ID="updateprocess" runat="server" Text="Update & Process" />
        </div>
    </asp:Panel>

【问题讨论】:

    标签: c# jquery asp.net popup


    【解决方案1】:

    在您的页面加载中调用此行。

    modalpopup.Hide();
    

    【讨论】:

    • 我试过了,但没用……问题是当点击后退按钮时,后面的代码甚至不会运行,页面是从缓存中加载的。如果最后一个页面加载(无论是否回发)有一个弹出窗口,它将再次显示该弹出窗口
    【解决方案2】:

    你可以把this.Hide()或者在取消按钮的点击函数中然后modalpopup.Hide()

    【讨论】:

      猜你喜欢
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多