[英]UpdatePanel partial postback hits breakpoints of controls outside the 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
UpdatePanel
。 (你不能讓當前的那個更大,但是制作第二個應該不會引起問題。)讓第二個更新面板設置與觸發器相同的按鈕。 (您可以使用更新面板之外的觸發器,您無法更新更新面板之外的內容。)如果更新是有條件的(您有時僅在單擊按鈕時更改內容),則可以設置只觸發第二個面板成為隱藏按鈕,您可以從第一個按鈕單擊的處理程序中Click
代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.