I have the following set of radio button lists set up on my form. This was on an ajaxtoolkit tab control but i have removed everything else from the page to try and find why this wont work, and im still stuck. Here is the relevant html:
<
asp:UpdatePanel ID="pnlStatutoryConditions" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:Table ID="tblStatCond" runat="server" style="WIDTH: 824px; HEIGHT: 229px" cellSpacing="1" cellPadding="3" width="824" border="1">
<asp:TableHeaderRow CssClass="gridColHeader" HorizontalAlign="Center" runat="server" >
<asp:TableHeaderCell runat="server" Width="20%"></asp:TableHeaderCell>
<asp:TableHeaderCell runat="server" Width="20%">A <br /><br />Asset is Compliant<br /><br /><br /></asp:TableHeaderCell>
<asp:TableHeaderCell runat="server" Width="20%">B <br /><br />Asset is Non-Compliant, but corrective action is being undetaken</asp:TableHeaderCell>
<asp:TableHeaderCell runat="server" Width="20%">C <br /><br />Asset is Non-Compliant, but plan of action has been identified</asp:TableHeaderCell>
<asp:TableHeaderCell runat="server" Width="20%">D <br /><br />Asset is Non-Compliant, and no action is planned<br /><br /></asp:TableHeaderCell>
</asp:TableHeaderRow>
<asp:TableRow runat="server">
<asp:TableCell runat="server" CssClass="gridrow1">Building Standards</asp:TableCell>
<asp:TableCell ColumnSpan=4 runat="server" CssClass="gridrow1">
<asp:RadioButtonList ID="rblstBuildingStandards" runat="server" RepeatDirection=Horizontal Width=675px EnableViewState=true AutoPostBack=true>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:RadioButtonList>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server">
<asp:TableCell runat="server" CssClass="gridrow1">Alarms/Detection</asp:TableCell>
<asp:TableCell ColumnSpan=4 runat="server" CssClass="gridrow1">
<asp:RadioButtonList ID="rblstAlarmDetect" runat="server" RepeatDirection=Horizontal Width=675px OnSelectedIndexChanged="rblstAlarmDetect_SelectedIndexChanged" EnableViewState=true AutoPostBack=true>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem><asp:ListItem></asp:ListItem>
</asp:RadioButtonList>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server" >
<asp:TableCell runat="server" CssClass="gridrow1">Services or Plant</asp:TableCell>
<asp:TableCell ColumnSpan=4 runat="server" CssClass="gridrow1">
<asp:RadioButtonList ID="rblstServicePlant" runat="server" RepeatDirection=Horizontal Width=675px EnableViewState=true AutoPostBack=true>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:RadioButtonList>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server">
<asp:TableCell runat="server" CssClass="gridrow1">Food Safety</asp:TableCell>
<asp:TableCell ColumnSpan=4 runat="server" CssClass="gridrow1">
<asp:RadioButtonList ID="rblstFoodSafety" runat="server" RepeatDirection=Horizontal Width=675px EnableViewState=true AutoPostBack=true>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:RadioButtonList>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server" >
<asp:TableCell runat="server" CssClass="gridrow1">Other H + S</asp:TableCell>
<asp:TableCell ColumnSpan=4 runat="server" CssClass="gridrow1">
<asp:RadioButtonList ID="rblstOtherHS" runat="server" RepeatDirection=Horizontal Width=675px EnableViewState=true AutoPostBack=true>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:RadioButtonList>
</asp:TableCell>
</asp:TableRow>
<asp:TableFooterRow>
<asp:TableCell ColumnSpan=5 CssClass="gridrow1">
<asp:TextBox id="statCondErrorText" runat="server" ReadOnly=true TextMode=MultiLine width = 75% Wrap=true BackColor="#EFEFEF" Visible=false ForeColor=red/>
         
<asp:Button id="btnUpdateStatConditions" runat="server" Text="Update" CssClass="Button" Width="60px" ></asp:Button>
</asp:TableCell>
</asp:TableFooterRow>
</asp:Table>
</ContentTemplate>
</asp:UpdatePanel>
For some reason whenever i click a different button it posts back and then re-selects the first in the list for ALL the radio button lists on the form. So if i clicka radiobutton in the rblstAlarm list and rblstFoodSafety is set at index 2, it resets alarm list selected to 0 and foodsafety to 0 as well.
I am loading the initial values from a row returned from the database like so:
Private Sub loadStatCondData(ByVal row As dsStatutoryConditions.dtStatutoryConditionsRow)
'Set up Building Standards radio button list (only one can be selected):
If row.SBY_BUILD_STAND_A = 1 Then
rblstBuildingStandards.Items(0).Selected =
True
Else
If row.SBY_BUILD_STAND_B = 1 Then
rblstBuildingStandards.Items(1).Selected =
True
Else
If row.SBY_BUILD_STAND_C = 1 Then
rblstBuildingStandards.Items(2).Selected =
True
Else
If row.SBY_BUILD_STAND_D = 1 Then
rblstBuildingStandards.Items(3).Selected =
True
End If
End If
End If
End If
'set up Alarm radio button list (only one can be selected)
If row.SBY_ALARM_A = 1 Then
rblstAlarmDetect.Items(0).Selected =
True
Else
If row.SBY_ALARM_B = 1 Then
rblstAlarmDetect.Items(1).Selected =
True
Else
If row.SBY_ALARM_C = 1 Then
rblstAlarmDetect.Items(2).Selected =
True
Else
If row.SBY_ALARM_D = 1 Then
rblstAlarmDetect.Items(3).Selected =
True
End If
End If
End If
End If
'set up services or plant radion button list (only one can be selected)
If row.SBY_SERVORPLANT_A = 1 Then
rblstServicePlant.Items(0).Selected =
True
Else
If row.SBY_SERVORPLANT_B = 1 Then
rblstServicePlant.Items(1).Selected =
True
Else
If row.SBY_SERVORPLANT_C = 1 Then
rblstServicePlant.Items(2).Selected =
True
Else
If row.SBY_SERVORPLANT_D = 1 Then
rblstServicePlant.Items(3).Selected =
True
End If
End If
End If
End If
'set up food safety radio button list (only one can be selected)
If row.SBY_FOOD_SAFETY_A = 1 Then
rblstFoodSafety.Items(0).Selected =
True
Else
If row.SBY_FOOD_SAFETY_B = 1 Then
rblstFoodSafety.Items(1).Selected =
True
Else
If row.SBY_FOOD_SAFETY_C = 1 Then
rblstFoodSafety.Items(2).Selected =
True
Else
If row.SBY_FOOD_SAFETY_D = 1 Then
rblstFoodSafety.Items(3).Selected =
True
End If
End If
End If
End If
'set up other h&s radio button list (only one can be selected)
If row.SBY_OTHER_HS_A = 1 Then
rblstOtherHS.Items(0).Selected =
True
Else
If row.SBY_OTHER_HS_B = 1 Then
rblstOtherHS.Items(1).Selected =
True
Else
If row.SBY_OTHER_HS_C = 1 Then
rblstOtherHS.Items(2).Selected =
True
Else
If row.SBY_OTHER_HS_D = 1 Then
rblstOtherHS.Items(3).Selected =
True
End If
End If
End IfEnd If
End Sub
This is my pageload:
If
Not IsPostBack ThenDim sBookedOut As String = Request.QueryString("BookedOut")
TryDim row As dsStatutoryConditions.dtStatutoryConditionsRow = MyBase.getStatutoryConditionsData()
loadStatCondData(row)
Catch ex As Exception
statCondErrorText.Text =
String.Empty
statCondErrorText.Visible =
True
statCondErrorText.Text = ex.Message
End TryMyBase.S_ID = Request.QueryString("S_ID")
MyBase.SBY_ID = Request.QueryString("SBY_ID")MyBase.Location = Request.QueryString("Location")
End If
When i change the radio button selected it postsback ok, and i have tried using the immediate window to get the selectedindex of the radiobuttonlists to see if i need to handle getting the selected radio button when postback is true. But the selectedindex is always zero and the selectedindexchanged event for the control is never hit (even after postback is finished).
I have ensured that the selected index is never set anywhere else in my code other than the loadStatCondData routine.
This one has me completely stumped.
ps: Sorry for reams of code, for some reason in get a no xmlhttp error when i try to post it in a code window