2011-09-20 12 views
0

내 페이지에서 너무 이상한 행동을합니다.이상한 행동 페이지

라디오 버튼 목록이 있는데, 선택에 따라 특정 코드를 실행합니다.

문제는 : 다음 옵션 1를 다시 선택 예를 들어

내가 옵션 2을 선택하면.

페이지는 상태 (목록이 이전 선택을 유지 아래 모든 드롭)을 유지하고 나는이 조건을 입력하는 페이지를 강제로 링크를 한 번 더 클릭해야합니다

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

내 영문을 :

<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에서 항목을 선택합니다.)가 포함 된 패널을 보여줍니다. 그런 다음 다른 라디오 버튼 옵션을 선택한 다음 다시 이전 옵션으로 돌아 가면 선택 사항을 유지하면서 찾을 수 있습니다. t는 모든 포스트 백을 만든다). –

답변

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

정말 감사합니다 (큰 것처럼). –