實現控制項先執行伺服器端代碼,載執行用戶端代碼的方法

來源:互聯網
上載者:User

在網頁中,用Javascript是經常的事,而且很多時候還還需要伺服器端配合。

這裡遇到一個問題,我需要在點擊按鈕後執行相關的初始化操作,這些需要伺服器端執行,並且是在使用者控制項中的,使用了母片,而且使用者控制項是動態載入的,這就常常出現用戶端執行的操作被伺服器端給覆蓋了,沒有效果。

 

下面是我首先綁定一個用戶端事件到一個Web按鈕上

 btnSave.Attributes.Add("onclick", " setDropIn();");

 

下面是定義的那個用戶端函數

function setDropIn()
 {
    if(document.getElementById('DropIn1'))
        setTimeout("resizedisplayScreenSize()", 200);
    else
        setTimeout("setDropIn()", 200);
 }

 

因為在執行用戶端操作的時候,使用者控制項還沒有載入進來,所以用戶端指令碼經常出現對象不存在的錯誤。所以這裡先判斷對象存在不存在,如果不存在,則用SetTimeout設定一個時間間隔,然後再調用自己一次,如果已經存在則直接調用真正執行用戶端指令碼操作的函數。時間間隔設短一點,效果會很好。

 

這種方法擴充一下,還可以實現先執行伺服器端事件,再執行用戶端事件的應用,只要判斷的條件改變一下,比如判斷某個隱藏的文字框裡面的值等。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.