1. 程式人生 > >UpdatePanel控制元件使用注意事項

UpdatePanel控制元件使用注意事項

使用UpdatePanel控制元件應注意以下兩個方面:

一、Rsponse.Write()是程式除錯中的常見語句,但使用了UpdatePanel後,由於UpdatePanel中的控制元件觸發的是非同步呼叫過程,使用它就會報JavaScript錯誤。(不能使用)

    解決辦法:

         System.Web.UI.ScriptManager.RegisterStartupScript(btnQuery,this.GetType(),"msg1","alert('js指令碼')",true);

         通過System.Web.UI.ScriptManager類的靜態方法RegisterStartupScript向頁面註冊了頁面載入完成後便執行的JS程式碼。

         public static void RegisterStartupScript(

                Control control,//正在註冊該客戶端指令碼塊的控制元件

                Type type, //通常使用typeof運算子或GetType()獲取控制元件的型別

                string key, //該指令碼塊的惟一識別符號

                string script,  //JavaScript內容

                bool addScriptTags //如果用<script></script>標記括起該指令碼塊,則為true,否則為false

        )

二、UpdatePanel的Visible屬性要慎用

       一個頁面中如果有多個UpdatePanel,但是在程式中可能會通過其他控制元件來控制UpdatePanel控制元件的顯示與否,這時第一考慮到的就是使用UpdatePanel控制元件的Visible屬性,如果此屬性設定為false的話,UpdatePanle在Render成HTML程式碼時,並不會生成相應的HTML程式碼,也就是說,頁面HTML的DOM中根本就沒有這個UpdatePanel對應的物件。

        解決辦法,通過設定UpdatePanel控制元件的Style屬性,通過css中的display

屬性間接實現,由於UpdatePanel沒有Style屬性,所以在每個UpdatePanel控制元件的外面加上一個Panel控制元件。

        <style type="css/text">

             .hidden

             {

                  display:none;

             }

             .show         

            {

                  display:block;

             }

        </style>

       <asp:Panel ID="p1" runat="server">

             <asp:UpdatePanel ID="up1" runat="server">

                      <ContentTemplate>

                                 <asp:Label ID="Label1" runat="server" Text=""></asp:Label>

                      </ContentTemplate>

             </asp:UpdatePanel>

       </asp:Panel>

       <asp:Button ID="btnShow" runat="server" Text="顯示"></asp:Button>

       <asp:Button ID="btnHide" runat="server" Text="隱藏"></asp:Button>

在Page_Load事件中

               this.btnShow.OnClientClick = " $get(' " + this.p1.ClientID + " ').className = 'show' ; return false " ;

               this.btnHide.OnClientClick = " $get(' " + this.p1.ClientID + " ').className = 'hide' ;  return false ";

說明:$get()是ScriptManager控制元件向客戶端註冊的一個JavaScript方法,相當於document.getElementById()方法。

相關推薦

UpdatePanel控制元件使用注意事項

使用UpdatePanel控制元件應注意以下兩個方面: 一、Rsponse.Write()是程式除錯中的常見語句,但使用了UpdatePanel後,由於UpdatePanel中的控制元件觸發的是非同步呼叫過程,使用它就會報JavaScript錯誤。(不能使用)     解決

UpdatePanel控制元件,你真的會用了嗎?

文/gxlxzys  出處/部落格園    剛接觸這控制元件的時候,感覺這東西好神奇,把頁面中的東西放進去就能實現非同步重新整理,其它的什麼都不用做。我就這樣一直用了一段時間,最近才發現 UpdatePanel控制元件並不是個簡單的東東,我想肯定還有像我這樣把UpdatePa

UpdatePanel 控制元件,客戶端事件生命週期踩坑

1 <script type="text/javascript" language="javascript"> 2 3 Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(functi

ASP.NET AJAX入門系列(5):使用UpdatePanel控制元件(二)

{            if (String.IsNullOrEmpty(FirstNameTextBox.Text) ||               String.IsNullOrEmpty(LastNameTextBox.Text)) { return; }             int emplo

asp.net中updatepanel控制元件向外傳值

.aspx程式碼如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="UpdatePanel控制元件傳值.aspx.cs" Inherits="UpdatePanel控制元件傳值" %> <

QGraphicsView的在過載重繪函式時,繪製控制元件注意事項(一)

在QGraphicsView中進行繪製的時候,注意座標對映,mapToScene,mapFromScene等可以實現scene和view的座標關係,但是在繪製控制元件的時候,不能涉及到w,h等長度概念,

C# numericUpDown控制元件用法總結及注意事項

numericUpDown控制元件在使用的過程當中,有些用法會不太一樣,下面做一總結。 1. 判斷numericUpDown的value屬性是否為空        使用過Numericupdown控制元件的童鞋初期應該都會碰到一個奇怪的問題,在刪除了控制元件裡的值之後,裡

Winform控制元件在WPF中使用的注意事項

從Winform轉到WPF的時候,經常需要在WPF裡面採用一些以前用Winform寫過的控制元件。下面介紹在WPF中使用Winform的方法和注意事項。 1、在WPF中使用Winform的控制元件 (1)新增必須的dll。主要有:WindowsFormsIntegration.dll,Sys

cocoscreator[1.9.3]踩坑:togglecontainer控制元件按鈕置灰的使用注意事項

首先我要用三個臥槽臥槽臥槽來發洩一下鬱悶。。。因為這個坑週末啥都沒幹成。。mmp   1.9.3版本新建一個togglecontainer控制元件,預設會建立三個toggle控制元件子節點 點開其中一個toggle ,看一下他的屬性會發現沒有sprite控制元件。

asp.net mvc DropDownList控制元件 資料庫中取值Select的選項注意事項

//從資料庫中取selectlist的值 前端: @Html.DropDownList("s_group", ViewBag.Values as SelectList, new { @class

Highcharts控制元件使用說明及注意事項, 錯誤: 'Highcharts' 未定義 錯誤: 'jb' 為空或不是物件

               最近做專案需要用到報表,網上查詢了一下,發現highcharts這個挺不錯,並且是前臺的。自己手動練習了幾個小例子,出現的問題已有不同顏色標出。        第一部:引用類庫   <script src="script/jquery.m

emWin介面庫注意事項之自定義回撥函式之後,控制代碼為0

        由於在嵌入式裝置上可供使用的介面庫很少,專案當中所使用的介面庫為德國SEGGER公司開發的emWin介面庫。使用上和windows的GDI大致類似,也提供了豐富的API介面。如果我們需要對控制元件進行自繪的話,一定要進行的一個操作是通過設定回撥

vue元件通訊--注意事項及經驗總結

元件間的通訊是是實際開發中非常常用的一環,如何使用對專案整體設計、開發、規範都有很實際的的作用,我在專案開發中對此深有體會,總結下vue元件間通訊的幾種方式,討論下各自的使用場景 文章對相關場景預覽 父->子元件間的資料傳遞 子->父元件間的資料傳遞

關於REALTEK交換晶片使用SMI Slave控制PHY暫存器的注意事項

最近專案又使用到一款交換晶片RTL8367N,需要讀取PHY暫存器狀態,因為前面使用過RTL8305NB,當時是使用了MII介面實現了對PHY暫存器的讀取,這次照葫蘆畫瓢,但是RTL8367N沒有任何反應。 查閱DATASHEET發現: SMI_SEL/ P0LED0/L

微信小程式之購物車和父子元件傳值及calc的注意事項

在做微信小程式時,覺得小組裡對購物車的實現不是很完美,就自己嘗試的寫了下,然後用到了父子元件傳值,父子元件傳值的話,和vue框架上是非常相似的,以及calc這個css函式,calc有個注意點,自己不怎麼用,一時間有差點忘了,這裡記錄下 1.效果圖 2.子元件實現

ASP.NET關於使用CreateUserWizard控制元件實現註冊需注意的要點

1. NextButtonClick所對應的方法引數中的WizardNavigationEventArgs 所對應的例項e,它所對應Cancel屬性是否執行sqlcommand命令,假如你通過使用CreateUserWizard進行註冊,沒有對不符合要求的情況進行對Cancel屬性的fals

使用ES6寫react元件的幾點注意事項

前言 隨著各大瀏覽器對ES6語法的支援以及babel外掛的使用,ES6語法使用越來越多。不久前,完成一個react專案,對ES6編寫react元件踩了不少坑。在此記錄開發時,應該注意的一些事項。 正文 1. export default和ex

自定義控制元件(14)---ViewGroup繪製的Padding、margin注意

ViewGroup測量子元素有關,其中measureChildWithMargins和measureChildren類似只是加入了對Margins外邊距的處理,ViewGroup提供對子元素測量的方法從measureChildren開始: measureChildren的邏

使用TypedArray設定控制元件大小注意問題

在編寫自定義控制元件的時候,由於我的控制元件全部採用的是程式碼編寫介面,在通過TypeArray獲取文字大小的時候,介面顯示的與設定的明顯不一樣,具體的圖片演示我就不貼圖可以檢視http://blog.

STM32例項之LED燈閃爍控制以及相關注意事項

在本例項中,主要是為了實現LED燈的閃爍。首先分析LED的驅動方式,本實驗中使用的是OpenM3V,內建8個LED均採用灌流方式驅動(低電平亮)。如果想要實現其閃爍,則需要給相應埠持續不斷的高低交替電