RadioButtonList.SelectedIndexChanged not raised when the ListItem has Selected="True" not working on IE8
                            
                         
                        
                     
                 
                
                    I have problem
 with radiobuttonlist.
I have two radiobuttons in radiobuttonlist
 and based on selection, i am enabling and disabling the text box.
First
 time i used date radiobutton and i took date in corresponding textbox 
and i saved it into database and then when i came back on same page i 
saw the date radiobutton is checked has proper value then i clicked on 
another radiobutton and this time page is postback and clear my all the 
data which was in my other controls(I have 5-6 text boxed on my page). I
 dont know why?, It supposed to select my other radiobutton and enable 
the corresponding text box
On firefox it is working fine.
This
 is my code:- 
<tr>
<th style="height: 57px">
<asp:RadioButtonList
 id="rbExpiration"  runat="server"  AutoPostBack="true" 
OnSelectedIndexChanged="OnSelectedIndexChangedMethod"
Tooltip="Please
 select either Expiration (In Days) or Expiration Date " 
Height="42px"
 Width="167px">
<asp:ListItem Text="Expiration (In Days)" 
Value="rbExpirationInDays" Selected="True"/>
<asp:ListItem 
Text="Expiration Date" Value="rbExpirationDate" />
</asp:RadioButtonList>
</th>
 <td style="height: 57px">
<br />
<asp:TextBox 
ID="txtExpirationDays" runat="server" CssClass="txtRequired" 
MaxLength="4" 
ToolTip="Number of days until this credential will 
expire after submission" 
Width="40px" 
ValidationGroup="vModifyCredType"></asp:TextBox>
 
<asp:RequiredFieldValidator
 ID="RequiredFieldValidator1" runat="server" 
ControlToValidate="txtExpirationDays"
Display="Dynamic" 
ErrorMessage="Expiration (in days) is required." 
Font-Size="8pt"ValidationGroup="vModifyCredType"></asp:RequiredFieldValidator>
<asp:RangeValidator
 ID="RangeValidator1" runat="server" 
ControlToValidate="txtExpirationDays"
Display="Dynamic" 
ErrorMessage="Please enter an integer value greater than 0 and less than
 10,000."
Font-Size="8pt" SetFocusOnError="True" Type="Integer" 
MinimumValue="0" MaximumValue="9999"
ValidationGroup="vModifyCredType"></asp:RangeValidator>
<br
 />
 <asp:TextBox ID="txtExpirationDate" runat="server" 
CssClass="txtRequired" MaxLength="10" ToolTip="Expiration date for this 
credential will expire after submission" 
Width="80px"></asp:TextBox>
<asp:RequiredFieldValidator 
ID="RequiredFieldValidator2" runat="server" 
ControlToValidate="txtExpirationDate"
 Display="Dynamic" 
ErrorMessage="Expiration date is required." Font-Size="8pt"
 
ValidationGroup="vModifyCredType"></asp:RequiredFieldValidator>
<ajaxToolkit:CalendarExtender
 ID="CalendarExtender2" runat="server" 
TargetControlID="txtExpirationDate"
Format="MM/dd/yyyy" 
CssClass="smcalendar" Enabled="True" />
<asp:RegularExpressionValidator
 ID="RegularExpressionValidator1" runat="server" 
ControlToValidate="txtExpirationDate"
Display="Dynamic" 
ErrorMessage="Invalid date.  Select a date or enter in the format 
mm/dd/yyyy"
Font-Size="Small" 
ValidationExpression="([1-9]|0[1-9]|1[012])[-
 /.]([1-9]|0[1-9]|[12][0-9]|3[01])[- 
/.](19|20|21|22|23|24|25)\d\d"></asp:RegularExpressionValidator>
</td>
</tr>
CS
 Code: - 
Page_Load()
if (!Page.IsPostBack)
        {
      
      if (gvCredentialTypes.SelectedIndex >= 0)
            {
 
               CredentialType credType = 
CredentialType.FindCredentialType(gvCredentialTypes.SelectedValue.ToString());
                if (!String.IsNullOrEmpty(credType.CredentialTypeName)) 
//If exists, load data
                {
                    
String expDays = credType.ExpirationLength.ToString();
              
      DateTime expDate = Convert.ToDateTime(credType.ExpirationDate);
                    // Assign the value to the controls
             
       LoadExpirationDaysDateValue(expDays, expDate);
               
 }
            }
        }
 private void 
LoadExpirationDaysDateValue(String expDays, DateTime expDate)
    {
        // Determines whether value for Days or Date is present
     
   Boolean IsDays = false;
        // Check if days value is 
present
        if (String.IsNullOrEmpty(expDays) || 
expDays.Equals("0"))
        {
            txtExpirationDays.Text =
 String.Empty;
        }
        else
        {
            
txtExpirationDays.Text = expDays;
            IsDays = true;
     
   }
        if (expDate.ToShortDateString().Equals ("1/1/0001"))
        {
            txtExpirationDate.Text = String.Empty;
     
   }
        else
        {
            txtExpirationDate.Text =
 expDate.ToShortDateString();
            IsDays = false;
        }
        // Set the radio button value based on whether Date or Days 
value is present
        if (IsDays)
        {
            // 
Get ref to the 1st radio item
            ListItem liExpirationInDays
 = rbExpiration.Items.FindByValue("rbExpirationInDays");
            
if (liExpirationInDays != null)
            {
                
liExpirationInDays.Selected = true;
                
rbExpiration.Items.FindByValue("rbExpirationDate").Selected = false;
                txtExpirationDate.Text = string.Empty;
              
  txtExpirationDays.Text = expDays;
                // Enable or 
disable the controls based on the radio button selection
            
    txtExpirationDays.Enabled = true;
                
RequiredFieldValidator1.Enabled = true;
                
RangeValidator1.Enabled = true;
                
txtExpirationDate.Enabled = false;
                
RegularExpressionValidator1.Enabled = false;
                
CalendarExtender2.Enabled = false;
                
//compDateValidator.Enabled = false;
                
RequiredFieldValidator2.Enabled = false;
            }
        }
        else
        {
            // Get ref to the 2nd radio 
item
            ListItem liExpirationDate = 
rbExpiration.Items.FindByValue("rbExpirationDate");
            if 
(liExpirationDate != null)
            {
                
liExpirationDate.Selected = true;
                
rbExpiration.Items.FindByValue("rbExpirationInDays").Selected = false;
                txtExpirationDays.Text = string.Empty;
              
  txtExpirationDate.Text = expDate.ToShortDateString();
             
   
                // Enable or disable the controls based on the 
radio button selection
                txtExpirationDate.Enabled = 
true;
                RegularExpressionValidator1.Enabled = true;
                RequiredFieldValidator2.Enabled = true;
             
   CalendarExtender2.Enabled = true;
                
//compDateValidator.Enabled = true;
                
txtExpirationDays.Enabled = false;
                
RequiredFieldValidator1.Enabled = false;
                
RangeValidator1.Enabled = false;
            }
        }
    }
 private void EnableCorrespondingTextbox()
    {
        switch 
(rbExpiration.SelectedItem.Value)
        {
            case 
"rbExpirationInDays":
                txtExpirationDays.Enabled = 
true;
                RequiredFieldValidator1.Enabled = true;
    
            RangeValidator1.Enabled = true;
                
txtExpirationDate.Text = String.Empty;
                
txtExpirationDate.Enabled = false;
                
RegularExpressionValidator1.Enabled = false;
                
CalendarExtender2.Enabled = false;
                
RequiredFieldValidator2.Enabled = false;
                
//compDateValidator.Enabled = false;
                break;
  
          case "rbExpirationDate":
                
txtExpirationDate.Enabled = true;
                
RegularExpressionValidator1.Enabled = true;
                
RequiredFieldValidator2.Enabled = true;
                
CalendarExtender2.Enabled = true;
                
//compDateValidator.Enabled = true;
                
txtExpirationDays.Text = String.Empty;
                
txtExpirationDays.Enabled = false;
                
RequiredFieldValidator1.Enabled = false;
                
RangeValidator1.Enabled = false;
                break;
        }
    }
protected void OnSelectedIndexChangedMethod(object sender, 
EventArgs e)
    {
        EnableCorrespondingTextbox();
    }