2011-09-20 113 views
0

我在我的頁面中面對如此奇怪的行爲。頁面奇怪的行爲

我有一個單選按鈕列表,根據選擇我執行特定的代碼。

的問題是:

例如,當我選擇選項2然後我選擇回到選項1

的頁面保持狀態(所有下拉列表維持其先前的選擇),我需要點擊鏈接一個更多的時間來強制頁面輸入此條件:

if (!Page.IsPostBack) 
{ 
    BindCamp(0); 
    BindCamp(1); 
} 

我的aspx:

<asp:RadioButtonList ID="rbl" runat="server" 
    OnSelectedIndexChanged="rbl_SelectedIndexChanged" 
    RepeatDirection="Horizontal" Width="200px" AutoPostBack="True"> 
    <asp:ListItem Value="0" Selected="True">view data</asp:ListItem> 
    <asp:ListItem Value="1">view report</asp:ListItem> 
</asp:RadioButtonList> 

我的代碼:

protected void rbl_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (rbl.SelectedItem.Value == "0") 
    { 
     pnl_view.Visible = true; 
     pnl_stat.Visible = false; 
     pnl_rep.Visible = false; 
    } 
    else 
    { 
     pnl_view.Visible = false; 
     pnl_all.Visible = false; 
     pnl_Dean.Visible = false; 
     pnl_research.Visible = false; 
     pnl_stat.Visible = true; 
    } 
} 
+0

請問您是否詳細說明了這個問題......我不太清楚這個問題是從這個描述中得到的...... –

+0

問題是: 我有一個單選按鈕列表(兩個選項)當我選擇第二個選項時,它顯示了一個面板包含兩個dropdownlists(我選擇這些ddl的項目)。然後,當我選擇另一個radiobutton選項,然後再回到上一個選項,我發現我的ddl保持他們的選擇!!!(就像它不'根本沒有任何回傳)。 –

回答

1

根據您的意見,DLL的將始終保持其值,除非您手動設置選擇,您設置EnableViewState =「false」(它禁用所有viewstate然後)。所以我認爲你可能需要這樣的代碼:

ddl.SelectedIndex = 0; // or -1 depending on whether you want an item selected 

單擊下一個單選按鈕。

+0

我一次又一次地錯過了一些重要的問題,是關於'viewstate',但是爲什麼當重定向到同一頁面時不能保持狀態呢?非常感謝 –

+1

重定向是一個GET請求,而回發是POST請求。在一個POST請求中,它會發佈一個__VIEWSTATE元素,這是存儲viewstate的地方。 –

+0

非常感謝你(大喜歡)。 –