首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个不应在回发后消失的updatePanels和popup扩展程序

问两个不应在回发后消失的updatePanels和popup扩展程序
EN

Stack Overflow用户
提问于 2012-02-22 23:42:40
回答 1查看 1.1K关注 0票数 0

在我的MasterPage上,我有两个被面板包围的更新面板。其中两个包含“详细信息视图”控件和一些按钮。

另一方面,我有一个包含图像按钮和链接按钮的UpdatePanel。

我的想法是从数据库中获取消息(2种),并在页面上显示它们。当用户单击一个按钮(LinkButton或ImageButton)时,他或她会看到一个“Popup Control”。在弹出控件上,他或她可以查看消息详细信息,如果需要,可以取消或批准它们。

这就是我被卡住的地方。如果我从UpdatePanels中删除ImageButtons,我将无法在没有完整回发的情况下刷新它们。

如果我在带有ImageButtons的UpdatePanel中有“弹出扩展”,但是当我点击“弹出面板”中的按钮时-它消失了(没有完全回发,它只是消失了)-它应该只是改变DetailsView页面。

我该如何让它工作呢?

提前感谢!

(我需要这个解决方案,因为我想使用计时器来刷新LinkButtons )

下面是我的代码:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        //here im pulling data from database and binding it with 'details view' controls, its not big deal so i think i don't have to show it?
        wyswietl_powiadomienia_o_wydarzeniach();
        wyswietl_ilosc_zaproszen_do_przyjaciol();
        wyswietl_ilosc_nieodczytanych_wiadomosci();

    }
    catch (Exception)
    {
    }
}


protected void ButtonWczesniej_Click(object sender, EventArgs e)
{

    DetailsViewEventsRequests.PageIndex = DetailsViewEventsRequests.PageIndex - 1;
    ButtonDalej.Enabled = true;
    wyswietl_powiadomienia_o_wydarzeniach();

}
protected void ButtonDalej_Click(object sender, EventArgs e)
{
    // 
    DetailsViewEventsRequests.PageIndex = DetailsViewEventsRequests.PageIndex + 1;

    ButtonWczesniej.Enabled = true;
    wyswietl_powiadomienia_o_wydarzeniach();
}

protected void ButtonInvLeft_Click(object sender, EventArgs e)
{
    DetailsViewIfFriends.PageIndex = DetailsViewIfFriends.PageIndex - 1;
}
protected void ButtonInvRight_Click(object sender, EventArgs e)
{
    DetailsViewIfFriends.PageIndex = DetailsViewIfFriends.PageIndex + 1;
}

和我的aspx:(只有一个带有详细视图的更新面板,因为第二个非常相似)

代码语言:javascript
复制
<div id="NotifyAreaWhite">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <div id="NotifyAreaDiv">
                <div id="NotifyDivMail">
                    <div id="NotifyLeftMSG"><asp:ImageButton ID="ImageButtonNotifyMsg" runat="server"  
                            ImageUrl="~/images/msg.png" PostBackUrl="~/wiadomosci.aspx" 
                            ToolTip="Wyslij wiadomosc" /></div>
                    <div class="NotifyRight"> <asp:LinkButton ID="LabelNotifyMsgNo" runat="server"  Text="0" Font-Size="Large" PostBackUrl="~/wiadomosci.aspx"/></div>
                </div>
                <div class="NotifyDiv">
                <div id="NotifyLeftFrend" class="NotifyLeft"> <asp:ImageButton ID="ImageButtonNotifyFrends" runat="server" 
                        ImageUrl="~/images/friends.png" 
                        ToolTip="Zaproszenia od znajomych." /></div>
                <div id="NotifyRightFrend" class="NotifyRight"><asp:LinkButton ID="LabelNotifyFrendsNo" runat="server" Text="0" Font-Size="Large"/></div>
                </div>
                <div class="NotifyDiv">
                <div id="NotifyLeftWyd" class="NotifyLeft"> <asp:ImageButton ID="ImageButtonWydarzenia" runat="server" ImageUrl="~/images/event.png" ToolTip="Zaproszenia do wydarzen." /></div>
                <div id="NotifyRightWyd" class="NotifyRight"> <asp:LinkButton ID="LabelNotifyEventsNo" runat="server" Text="0" Font-Size="Large"/></div>
                </div>
                </div>
                     <asp:ModalPopupExtender ID="PanelZaproszeniaEventy_ModalPopupExtender" 
                        runat="server"  Enabled="true" OkControlID="ButtonZamknijOkno" CancelControlID="ButtonZamknijOkno"
                        TargetControlID="ImageButtonWydarzenia" PopupControlID="PanelZaproszeniaEventy"
                        BackgroundCssClass="NotifyPageTloClass"/> //extender showing Panel
                     <asp:ModalPopupExtender ID="PanelZaproszeniaEventy_ModalPopupExtenderCyfra" 
                        runat="server"  Enabled="true" OkControlID="ButtonZamknijOkno" CancelControlID="ButtonZamknijOkno"
                        TargetControlID="LabelNotifyEventsNo" PopupControlID="PanelZaproszeniaEventy"
                        BackgroundCssClass="NotifyPageTloClass"/>

                      <asp:ModalPopupExtender ID="PanelProsbyOznajomosc_ModalPopupExtender" 
                        runat="server"  Enabled="true" OkControlID="ButtonFrendCloseNotifier" CancelControlID="ButtonFrendCloseNotifier"
                        TargetControlID="ImageButtonNotifyFrends" PopupControlID="PanelProsbyOznajomosc"
                        BackgroundCssClass="NotifyPageTloClass"/>
                      <asp:ModalPopupExtender ID="PanelProsbyOznajomosc_ModalPopupExtenderCyfra" 
                        runat="server"  Enabled="true" OkControlID="ButtonFrendCloseNotifier" CancelControlID="ButtonFrendCloseNotifier"
                        TargetControlID="LabelNotifyFrendsNo" PopupControlID="PanelProsbyOznajomosc"
                        BackgroundCssClass="NotifyPageTloClass"/>
          </ContentTemplate>
    </asp:UpdatePanel>
</div>

<asp:Panel ID="PanelZaproszeniaEventy" runat="server" Width="318px" CssClass="NotifyWydTlo" >
     <asp:UpdatePanel ID="UpdatePanelZaproszeniaEventy" runat="server" RenderMode="Block">
        <ContentTemplate>
                    <asp:DetailsView ID="DetailsViewEventsRequests" runat="server" DataKeyNames="Charakterystyka" AutoGenerateRows="False" Height="17px" Width="313px" HorizontalAlign="Center" onitemcreated="DetailsViewEventsRequests_ItemCreated">
                        <Fields>
                            <asp:BoundField DataField="UserName" HeaderText="Zalozyciel" SortExpression="Nazwisko" />
                            <asp:BoundField DataField="Miasto" HeaderText="Gdzie?" SortExpression="Miasto" />
                            <asp:BoundField DataField="Data_ZalozeniaWydarzenia" HeaderText="Data wyslania" SortExpression="Miasto" />
                        </Fields>
                        <FooterTemplate>
                        </FooterTemplate>
                        <HeaderTemplate>
                            <div>
                                <div style="float:left;">
                                   <asp:Label ID="LabelNazwaWydarzenia" runat="server"  
                                      Text='<%# Eval("Nazwa_Wydarzenia") %>'></asp:Label>
                                </div>
                                <div style="float:right; margin-left:5px;">
                                   <asp:Button ID="ButtonZobacz" runat="server"  CssClass="myButton" Text="Zobacz Wydarzenie" Font-Size="X-Small" Width="150px" ClientIDMode="AutoID" OnClick="ButtonZobacz_click" UseSubmitBehavior="True"/>
                                </div>
                            </div>
                        </HeaderTemplate>
                        <EmptyDataTemplate>
                            <table id="Table1" runat="server" style="border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px; color:#FF5041; margin-left:auto; margin-right:auto;">
                                <tr>
                                   <td>Nie masz zadnych zaproszen.</td>
                                </tr>
                            </table>
                        </EmptyDataTemplate>
                    </asp:DetailsView>
            <table style="margin-left:auto; margin-right:auto;">
                <tr>
                    <td>
                        <asp:Button ID="ButtonWczesniej"  Width="69px" Height="41px" runat="server" Text="<<" OnClick="ButtonWczesniej_Click" CssClass="myButton" /></td> //button previous msg
                    <td>
                      <asp:Button ID="ButtonDalej" Width="69px" Height="41px" runat="server" Text=">>"  ///button next msg
                            OnClick="ButtonDalej_Click" CssClass="myButton"/></td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
    <div style="margin-left:auto; margin-right:auto; width: 112px;">
        <asp:Button CssClass="myButton" ID="ButtonZamknijOkno"  Width="100%"  //button closing popup
        Height="41px" runat="server" Text="ZAMKNIJ"/>
    </div>
</asp:Panel>

我希望我描述得很好。抱歉,我的英语很差,代码中有一些波兰语单词:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-25 18:07:37

正如我在一开始应该做的那样,我在空白页面上制作了这个示例,并尝试了其他方法。Mode=“有条件”做到了这一点。

我应该在之前给出这个代码,而不是那么长的代码:)

代码语言:javascript
复制
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
        <asp:HyperLink ID="HyperLinkPanelOn" runat="server">click here to show popup</asp:HyperLink>
            <asp:ModalPopupExtender ID="PanelZaproszeniaEventy_ModalPopupExtenderCyfra" 
            runat="server"  Enabled="true" OkControlID="ButtonClose" CancelControlID="ButtonClose"
            TargetControlID="HyperLinkPanelOn" PopupControlID="Panel1" BackgroundCssClass="NotifyPageTloClass" />
        </ContentTemplate>
    </asp:UpdatePanel>
    <asp:Panel ID="Panel1" runat="server">
        <asp:UpdatePanel ID="UpdatePanelPopUp" runat="server">
        <ContentTemplate>
            <asp:Button runat="server" Text="postback" />
            <asp:Button runat="server" Text="postback" />
         </ContentTemplate>
        </asp:UpdatePanel>
        <asp:Button ID="ButtonClose" runat="server" Text="Zamknij" />
    </asp:Panel>

如此简单..。我以为它是更大的东西:/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9398005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档