Asp.net 在代码文件中动态添加.net RadioButtonsList控件,在回发中没有SelectedValue
我在代码文件中动态创建的RadionButtonsList中获取SelectedValue时遇到问题。我正在将它添加到aspx页面上的占位符控件中。回发后,单选按钮将其选择保留在页面上,但我无法从代码文件中获取值 我知道我可以在HTML页面中创建RadioButtonsList,但我需要了解如何仅从代码文件中实现这一点。我遇到的真正问题更复杂。(创建true/false RadioButtonsList控件的动态数量) quick.aspxAsp.net 在代码文件中动态添加.net RadioButtonsList控件,在回发中没有SelectedValue,asp.net,vb.net,Asp.net,Vb.net,我在代码文件中动态创建的RadionButtonsList中获取SelectedValue时遇到问题。我正在将它添加到aspx页面上的占位符控件中。回发后,单选按钮将其选择保留在页面上,但我无法从代码文件中获取值 我知道我可以在HTML页面中创建RadioButtonsList,但我需要了解如何仅从代码文件中实现这一点。我遇到的真正问题更复杂。(创建true/false RadioButtonsList控件的动态数量) quick.aspx <%@ Page Title="Quiz" Ma
<%@ Page Title="Quiz" MasterPageFile="~/MasterPage.master" Language="VB" CodeFile="quiz.aspx.vb" Inherits="quiz" %>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:PlaceHolder ID="testholder" runat="server"></asp:PlaceHolder>
<asp:Button ID="lblNext" runat="server" type="submit" Text="Next" accesskey="n"/>
</asp:Content>
提交后我的输出是:“testlist:”。有什么想法吗?您必须在触发page_load事件之前加载控件,以便loadpostbackdata有机会加载动态控件的viewstate 将动态控件移动到page_init事件后,我可以看到所选的值
Dim testlist As New RadioButtonList
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
{
testlist.Items.Add(new ListItem("test1", "test1"))
testlist.Items.Add(new ListItem("test2", "test2"))
testholder.Controls.Add(testlist)
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
{
If (IsPostBack) Then
Debug.WriteLine(testlist.SelectedValue)
End If
}
每次你加载一个页面,甚至是回发,你都在添加(创建)新的列表项。这太棒了!谢谢
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim testlist As New RadioButtonList
testlist.Items.Add(New ListItem("test 1", "test1"))
testlist.Items.Add(New ListItem("test 2", "test2"))
testholder.Controls.Add(testlist)
If (IsPostBack) Then
Debug.WriteLine("testlist: " & testlist.SelectedValue)
End If
End Sub
Dim testlist As New RadioButtonList
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
{
testlist.Items.Add(new ListItem("test1", "test1"))
testlist.Items.Add(new ListItem("test2", "test2"))
testholder.Controls.Add(testlist)
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
{
If (IsPostBack) Then
Debug.WriteLine(testlist.SelectedValue)
End If
}