2013-10-22 36 views
1
protected void Page_Load(object sender, EventArgs e) 
{  
    Panel1.Visible = True; 
    Panel2.Visible = false; 
    LoadQuestion(); // auto choose question from database and add into Panel1 
    LoadQuestion1(); // auto choose question from database and add into Panel2       
    } 

當我開始我的程序時,我的表單自動將問題加載到我的文本框和單選按鈕列表中。我點擊鏈接按鈕2使我的Panel1 visible = false和Panel2 visible = true繼續回答問題。但是當我點擊鏈接按鈕2或1後,它會回到Page_Load()方法,並導致我的問題不斷變化。C#有什麼方法

回答

1

嘗試:

protected void Page_Load(object sender, EventArgs e) 
{  
    if (!IsPostBack) 
    { 
     Panel1.Visible = True; 
     Panel2.Visible = false; 
     LoadQuestion(); // auto choose question from database and add into Panel1 
     LoadQuestion1(); // auto choose question from database and add into Panel2 
    } 
} 
+0

着......啓動程序,產生這個問題的時候..但後,我對鏈接按鈕1或2點擊,我的所有問題消失了 –

+0

請張貼後面的代碼爲你的鏈接按鈕單擊事件。 – PJM

+0

還要確保面板的viewstate沒有被禁用。 – PJM

2

你應該檢查它是否是一個回傳。您只想在第一次加載時執行此操作。

protected void Page_Load(object sender, EventArgs e) 
{  
    if(!IsPostBack) { 
     Panel1.Visible = True; 
     Panel2.Visible = false; 
     LoadQuestion(); // auto choose question from database and add into Panel1 
     LoadQuestion1(); // auto choose question from database and add into Panel2 
    }      
} 

Source

+0

不能...當啓動程序時,問題產生了..但是當我點擊鏈接按鈕1或2後,我的所有問題都沒有了。 –

+0

並且您嘗試檢查它是否是第一次加載頁面? –

+0

我試過了,它絕對是第一次加載...在!IsPostBack,label1.text =「123」裏面,當程序啓動時,標籤顯示123,當我點擊鏈接按鈕時,標籤會變成456,但很奇怪的是...因爲label1.text = 123只顯示一次,意味着只加載一次,但爲什麼loadQuestion繼續進行? –

1

這是因爲Load事件發生的每服務器處理您的頁面請求的時間。

有兩種請求:初始頁面加載(當您轉到URL)和回發(當您單擊按鈕時)。你在Page_Load方法中做的是初始化,所以它應該只在最初完成,而不是在回發期間完成。

protected void Page_Load(object sender, EventArgs e) 
{  
    if(!IsPostBack) 
    { 
     // The code here is called only once - during the initial load of the page 
    } 

    // While the code here is called every time the server processes a request 
} 
+0

我把loadQuestion()放在!IsPostBack裏,但是當我碰到鏈接按鈕後,我的頁面廣告上沒有顯示任何問題... –

+0

什麼意思是你的問題沒有存儲在ViewState中。我不知道你的實現,無論如何有兩個選擇: a)找到一種方法將問題加載到控件中,將其狀態保存到ViewState中,因此不需要每次都重新加載問題 b)加載IF以外的問題,但保留 – JustAndrei

+0

裏面的可見性設置是什麼? –

相關問題