2012-02-22 4 views
0

私のMasterPageには、パネルに囲まれた2つの更新パネルがあります。そのうちの2つには、「詳細表示」コントロールといくつかのボタンが含まれています。一方2つのupdatePanelsとポップアップエクステンダーがポストバック後に消えてはならない

、私は、画像ボタンやリンクボタンが含まれている1 UpdatePanelを持っています。

私はデータベースからメッセージ(2種類)を取り出してページに表示しています。ユーザーがボタン(LinkButtonまたはImageButton)をクリックすると、「ポップアップコントロール」が表示されます。ポップアップコントロールでは、メッセージの詳細を表示し、必要に応じてメッセージの詳細を表示したりキャンセルしたりすることができます。

ここで私は立ち往生しています。 UpdatePanelsからImageButtonsを削除した場合、完全なポストバックがなくても更新することはできません。

は私がImageButtonsUpdatePanelで「ポップアップの拡張」を持っている必要がありますが、その後、私は「ポップアップパネル」からボタンをクリックしたとき - それは消えて(何のフルポストバックはありません、それだけで消える) - それだけで変更する必要がありますDetailsViewページ。

どうすればいいですか?

ありがとうございます!

(私はLinkButtonsをリフレッシュするためにタイマーを使用したいので、私はこのソリューションを必要とする)

ここでは背後に私のコードです:

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:ディテールのビューを持つ(一つだけのUpdatePanel第二理由1つは非常に似ています)

<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> 

私はそれをうまく記述したいと思います。私は空のページにこの例を作っ初めに行うと何か他のものを試してみてくださいと私の弱い英語申し訳ありませんが、コード内のいくつかのポーランドの言葉:)

答えて

0

...モード=「条件」はトリックをしました。

私は、その前に長くないそのコードを与える必要があります1 :)

<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> 

だから、簡単な..私はそれが何か大きなものだと思った:/

関連する問題