ASP.NET: UpdatePanel не отображается, даже если для Visible установлено значение True - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть две панели обновлений на странице aspx и по одному ModalPopupExtender внутри каждой из них.Проблема, с которой я сталкиваюсь, заключается в том, что я установил для свойства Visible значение false на странице aspx и установил для него значение True, когда оно должно отображаться.Но UpdatePanel не отображается, хотя я установил свойство Visible = True .

код aspx:

<%--Request closed --%>
<asp:UpdatePanel ID="udpModalReqClose" runat="server" Visible="false">
    <ContentTemplate>
        <div style="display:none">
            <asp:Button ID="btnDummyButton_ReqClose" UseSubmitBehavior="true" runat="server" Text="DummyButton" Style="display: none;" />
        </div>
        <asp:Panel ID="pnlCloseReq" runat="server" BackColor="White" BorderStyle="Solid" BorderColor="Black" BorderWidth="1px">
            <div>
                <table id="Table24" runat="server" border="0" cellpadding="4" cellspacing="10" width="400px">
                    <tr>
                        <td align="center">
                            <asp:Label ID="lblcloseSuccessOPR" runat="server" Font-Bold="true" ForeColor="Red" /> 
                        </td>
                    </tr>
                    <tr>
                        <td style="height: 5px;"></td>
                    </tr>
                    <tr>
                        <td align="center">
                            <asp:Button ID="btn_okclose" runat="server" SkinID="btnSearch" CssClass="btnSearch" OnClick="btnPOCPIRedirect_Click"
                                        CausesValidation="false" align="center" Text="OK" Width="65px" />
                        </td>
                    </tr>
                    <tr>
                        <td style="height: 5px;"></td>
                    </tr>
                </table> 
            </div>
        </asp:Panel>
        <cc1:ModalPopupExtender ID="mpeClosedSuccess" runat="server" PopupControlID="pnlCloseReq" TargetControlID="btnDummyButton_ReqClose" 
            BackgroundCssClass="modalPopup1" DropShadow="true" BehaviorID="mpe">
        </cc1:ModalPopupExtender>
    </ContentTemplate>
</asp:UpdatePanel>

<%--Request declined --%>
<asp:UpdatePanel ID="udpModalReqDecline" runat="server" Visible="false">
    <ContentTemplate>
        <div style="display:none">
            <asp:Button ID="btnDummyButton_ReqDecline" UseSubmitBehavior="true" runat="server" Text="DummyButton" Style="display: none;" />
        </div>
        <asp:Panel ID="pnlRequestDecline" runat="server" BackColor="White" BorderStyle="Solid" BorderColor="Black" BorderWidth="1px">
            <div>
                <table id="Table17" runat="server" border="0" cellpadding="4" cellspacing="10" width="400px">
                    <tr>
                        <td align="center">
                            <asp:Label ID="lblRequestDecline" runat="server" Font-Bold="true" ForeColor="Red" /> 
                        </td>
                    </tr>
                    <tr>
                        <td style="height: 5px;"></td>
                    </tr>
                    <tr>
                        <td align="center">
                            <asp:Button ID="Button4" runat="server" SkinID="btnSearch" CssClass="btnSearch" OnClick="btnPOCPIRedirect_Click"
                                        CausesValidation="false" align="center" Text="OK" Width="65px" />
                        </td>
                    </tr>
                    <tr>
                        <td style="height: 5px;"></td>
                    </tr>
                </table> 
            </div>
        </asp:Panel>
        <cc1:ModalPopupExtender ID="mpeRequestDecline" runat="server" PopupControlID="pnlRequestDecline" TargetControlID="btnDummyButton_ReqDecline" 
            BackgroundCssClass="modalPopup1" DropShadow="true" BehaviorID="mpe">
        </cc1:ModalPopupExtender>
    </ContentTemplate>
</asp:UpdatePanel>

Кнопки связи, которые запускают modalpopup в aspx:

<ItemTemplate>
      &nbsp;<asp:LinkButton ID="LinkButton3" OnClick="lnkCloseReleaseHL" runat="server"
                                                Text="Close"></asp:LinkButton>&nbsp;
</ItemTemplate>

<asp:TemplateColumn HeaderText="Decline">
       <ItemTemplate>
           &nbsp;<asp:LinkButton ID="lnkDeclineHLRelease" runat="server" OnClick="lnkDeclineHLRelease_Click">Decline All</asp:LinkButton>&nbsp;
       </ItemTemplate>

Код позади:

public void lnkCloseReleaseHL(object sender, System.EventArgs e)
{
      udpModalReqClose.Visible = true;
      string successMsg = "Request has been closed Succesfully.";
      lblcloseSuccessOPR.Text = successMsg;
      mpeClosedSuccess.Show();
}

protected void lnkDeclineHLRelease_Click(object sender, EventArgs e)
{
    udpModalReqDecline.Visible = true;
    string successMsg = "Request has been declined.";
    lblRequestDecline.Text = successMsg;
    mpeRequestDecline.Show();
}

Если яне устанавливайте свойство Visible = False на странице aspx, один из ModalPopup отображается на веб-странице, пустой с кнопкой «ОК», которую я вставил во всплывающее окно.

Кроме того, если у меня есть только одна UpdatePanel на моей странице aspx, всплывающее окно прекрасно работает без установки свойства Visible.Когда я добавляю еще одну панель обновления под ней, возникает эта проблема (скриншот в ссылке), где панель с кнопкой «ОК» отображается при загрузке страницы. Панель, появляющаяся на странице с кнопкой «ОК»

Я пытался найти все возможные решения в Интернете, но ничего не помогло мне.Если кто-то может подсказать мне, как я могу решить эту проблему, это было бы очень полезно.Я просто хочу знать, как можно заставить работать несколько UpdatePanels без этой проблемы.

1 Ответ

0 голосов
/ 25 сентября 2018

Я не уверен, но вы можете попробовать использовать style = "display: none" вместо Visible = "false"

...