title: Selected Index Changed Event Firing when it's not supposed to
body: <p>I have just encountered a strange situation with an ASP.NET page.  My form has 2 controls that have <code>AutoPostBack="true"</code>: a <code>RadioButtonList</code> and a <code>DropdownList</code>.  The RadioButtonList also has <code>EnableViewState="False"</code>.  When I change the selected item of the dropdownlist, the <code>RadioButtonList</code> <code>SelectedIndexChanged</code> event fires as well.  If I remove <code>EnableViewState="False"</code>, then this behavior goes away.  Can anyone explain why this is happening?  I have included sample code below so you can see this behavior for yourself:</p>
  
  <pre><code>&lt;div&gt;                
      &lt;asp:RadioButtonList ID="rblTest" AutoPostBack="true" OnSelectedIndexChanged="rblTest_SelectedIndexChanged" EnableViewState="false" runat="server"&gt;            
          &lt;asp:ListItem Text="Option 1" Value="1" /&gt;
          &lt;asp:ListItem Text="Option 2" Value="2" /&gt;
          &lt;asp:ListItem Text="Option 3" Value="3" /&gt;
      &lt;/asp:RadioButtonList&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;asp:DropDownList ID="ddlTest" AutoPostBack="true" OnSelectedIndexChanged="ddlTest_SelectedIndexChanged" runat="server"&gt;
          &lt;asp:ListItem Text="Select One" Value="" /&gt;
          &lt;asp:ListItem Text="Option 1" Value="1" /&gt;
          &lt;asp:ListItem Text="Option 2" Value="2" /&gt;
          &lt;asp:ListItem Text="Option 3" Value="3" /&gt;
      &lt;/asp:DropDownList&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" Text="Submit" EnableViewState="false" runat="server" /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;asp:Label ID="lblResult" runat="server" /&gt;              
  &lt;/div&gt;
  </code></pre>
  
  <p>Here is the code behind code:</p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              rblTest.SelectedIndex = 0;
          }
      }
  
      protected void rblTest_SelectedIndexChanged(object sender, EventArgs e)
      {
          lblResult.Text += "RadioButton List SelectedIndexChanged fired&lt;br /&gt;";
      }
  
      protected void btnSubmit_Click(object sender, EventArgs e)
      {
          lblResult.Text += "Submit Button Click Event Fired&lt;br /&gt;";
      }
  
      protected void ddlTest_SelectedIndexChanged(object sender, EventArgs e)
      {
          lblResult.Text += "Dropdown List SelectedIndexChanged Event Fired&lt;br /&gt;";
      }
  </code></pre>
  
  <p>Additionally, if you comment out this line in the code behind:</p>
  
  <pre><code>rblTest.SelectedIndex = 0;
  </code></pre>
  
  <p>Then this behavior does not occur <strong>until</strong> you select something from the radio button list.  Any help is greatly appreciated.</p>