簡體   English   中英

UpdatePanel和修改Panel外部的控件

[英]UpdatePanel and modifying controls outside of the Panel

我在UpdatePanel有一個控件。 UpdatePanel具有與內部控件關聯的AsyncPostBack觸發器。 這很好用。

我有另一個包含SSRS ReportViewControl ,我想基於上面提到的UpdatePanel的回發事件的結果來條件隱藏。

ReportViewerControl不在UpdatePanel我想保持這種方式 如何根據另一個控件內的UpdatePanel的回發事件隱藏ReportViewerControl

我假設如果我將ReportViewerControl放在UpdatePanel ,很多問題都會出現,任何人都知道嗎?

您可以在更新面板內容模板中創建腳本並隱藏控制表單javascript。

  <script type="text/javascript">
     Sys.Application.Add_load(MyFunctionThatHides);
   </script

ReportViewerControl不在UpdatePanel中,我想保持這種方式。

我做了一個簡單的技巧。 我創建了另一個Updatepanel,並將文字控制端放在更新面板上,此更新面板代碼位於“您要隱藏的控件”之上

這樣的事情

 <asp:UpdatePanel ID="UpdatePanel5" runat="server" UpdateMode="Always" >
    <ContentTemplate>
          <asp:Literal runat="server" ID="literal1"></asp:Literal>
     </ContentTemplate>
  </asp:UpdatePanel>

然后在Code中我注入了CSS

這樣的事情

literalDvControl.Text = "<style> #YourControlID{ display:none;}</style>";

這似乎有效。 基本上字面控制是注入樣式標記,瀏覽器很快就會做出反應。

但請閱讀此內容。 在<body>中使用<style>標簽和其他HTML

在服務器上處理Async AJAX調用之后,在將響應返回給客戶端/瀏覽器之前,您可以使用以下代碼

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowHideReportViewerJSScript", <JS code to show/hide reportviewer>, true);

我假設您在ASPX頁面上放置了scriptmanager

  1. 通過服務器端代碼隱藏內容,而是使用機器人建議的javascript(可能由服務器通過回發注入)。
  2. 圍繞要隱藏的其他內容創建第二個UpdatePanel (你不能讓當前的那個更大,但是制作第二個應該不會引起問題。)讓第二個更新面板設置與觸發器相同的按鈕。 (您可以使用更新面板之外的觸發器,您無法更新更新面板之外的內容。)如果更新是有條件的(您有時僅在單擊按鈕時更改內容),則可以設置只觸發第二個面板成為隱藏按鈕,您可以從第一個按鈕單擊的處理程序中Click代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM