2010-08-12 54 views
0

我有一個包含的控件的動態列表,與被聲明爲靜態按鈕(帶的OnClick聲明一起)沿aspx頁面上的自定義用戶控件。該按鈕顯示或隱藏包含動態控制列表的面板。動態添加控件可能導致靜電按鈕事件只發生火災後第二次點擊

我發現一個問題,我假設與動態添加的控件有關,其中按鈕事件方法(即使它不是動態添加的)只在第二次點擊時觸發。我認爲這事做的事實,該按鈕事件方法有線了在創建控件之前,和事件方法被正確連接好就回發時有突然的頁面上新的動態控制。在第二次點擊它的作品,因爲動態控件已全部被創建,並且只是被持久化(請別人糾正我,如果我錯了 - 我花了整天跟蹤下來:()

我的問題是,怎麼做我解決這個問題?我想爲按鈕接線了事件動態爲好,但我不知道把什麼樣的順序在所有這些聲明。任何想法?

+0

如果你沒有得到答案,發表您的aspx和代碼背後... – 2011-02-25 03:48:34

回答

0

你確定按鈕回發上首先點擊?否則,它可能是客戶端相關的事情。假設該按鈕第一次回發並提交按鈕(UseSubmitBehavior =「true」),則問題可能是由於

  1. 用戶控制後可能後期的數據處理已經發生(後數據處理是負責籌集按鈕事件),從時間
  2. 出於某種原因,按鈕控件ID(唯一ID)跨越後背上或按鈕的ID的變化而變化來獲取添加將數據處理發佈到呈現控件的時間。

在情況下,你是不是能夠解決這個問題,你可以去另一種方式 - 通過查看職位數據,如

if (Request.Form[button.UniqueID] != null) { // Do button click processing } 
相關問題