[Solved] Dynamically created ASP.Net RadioButtonList control loses selected value after PostBack

Last Reply 11 months ago By pandeyism

Posted 11 months ago

Dynamically created radiobuttons lose value on seleting radiobuttons Values are reset

what do I do?

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
End Sub

Private Sub GetMenuHtml(menuId As Integer)
    Dim tr As TableRow
    Dim td As TableCell
    Dim rbuttons As RadioButtonList = New RadioButtonList()
    rbuttons.ID = promptText.Replace(" ", "")
    rbuttons.RepeatLayout = RepeatLayout.Flow
    rbuttons.AutoPostBack = True
    rbuttons.EnableViewState = True
    rbuttons.RepeatDirection = RepeatDirection.Horizontal
    rbuttons.Items.Add(New ListItem(TranslateText("Yes"), "li" + promptText))
    rbuttons.Items.Add(New ListItem(TranslateText("No"), "li" + promptText))
    CType(rbuttons.Items, IStateManager).TrackViewState()
    AddHandler rbuttons.SelectedIndexChanged, AddressOf SaveRadioButtons

    td.Controls.Add(New LiteralControl("<br/>"))
    td.Controls.Add(New LiteralControl("<br/>"))

End Sub

Private Sub SaveRadioButtons(sender As Object, e As EventArgs)
    Dim rb As RadioButtonList = DirectCast(sender, RadioButtonList)
    Dim value As String = rb.selectedValue
End Sub


<%@ page title="" language="vb" autoeventwireup="false" codebehind="interview.aspx.vb" inherits="Interview.Interview" %>

<body bgcolor="#F0F0F0" lang="en-NL">
    <form id="Form2" runat="server">
    <asp:Literal ID="contentHeader" runat="server"></asp:Literal>
    <asp:Table ID="TableContent" border="0" CellSpacing="0" CellPadding="0" align="center"
        Style="width: 450.0pt; background: white; text-align: center" runat="server">
    <div style="text-align: center; width: 450.0pt; background-color: white; margin: 0 auto;">
        <asp:Button ID="ButtonSave" runat="server" Text="Save" OnClick="ButtonSave_Click" /></div>
    <asp:Literal ID="contentFooter" runat="server"></asp:Literal>
This question does not have replies that have been liked.