页面奇怪的行为

时间:2011-09-20 11:42:39

标签: c# asp.net viewstate page-lifecycle

我的页面面对如此奇怪的动作。

我有一个单选按钮列表,根据我执行特定代码的选择。

问题是:

例如,当我选择选项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;
     }
 }

1 个答案:

答案 0 :(得分:1)

根据您的评论,除非您手动设置选择,否则DLL将始终保留其值,您设置EnableViewState =“false”(然后禁用所有视图状态)。所以我认为你可能需要代码:

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

点击下一个单选按钮。