【发布时间】:2011-07-02 03:29:00
【问题描述】:
我正在动态创建一个表格,该表格在每一行中放置一个动态创建的单选按钮列表。
然后我想在单击提交按钮时在页面上显示结果。
我收到一条错误消息,指出
'question1' 未声明
为什么会发生这种情况?我已经在下面包含了我的所有代码。
后面的代码:
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
For i As Integer = 1 To 3
Dim TableRow As New TableRow()
Dim TableRowCell_1 As New TableCell()
TableRowCell_1.Text = i
Dim TableRowCell_2 As New TableCell()
TableRow.Cells.Add(TableRowCell_1)
TableRow.Cells.Add(TableRowCell_2)
QuestionnaireTable.Rows.Add(TableRow)
Dim question As New RadioButtonList
question.ID = "question" & i
question.RepeatColumns = "2"
question.Items.Insert(0, new listitem("", "1"))
question.Items.Insert(1, new listitem("", "2"))
TableRowCell_3.Controls.Add(question)
Next
End Sub
Sub btnSendFeedback_Click(sender as Object, e as EventArgs)
Dim question1 As RadioButtonList = DirectCast(Page.FindControl("question1"), RadioButtonList)
Dim question2 As RadioButtonList = DirectCast(Page.FindControl("question2"), RadioButtonList)
Dim question3 As RadioButtonList = DirectCast(Page.FindControl("question3"), RadioButtonList)
Response.write(question1.SelectedValue & " - " & question2.SelectedValue & " - " & question3.SelectedValue)
End Sub
正文:
<asp:Table runat="server" ID="QuestionnaireTable" />
<asp:Button OnClick="btnSendFeedback_Click" runat="server" Text="Submit..." ID="submitbutton" />
【问题讨论】:
-
我不完全确定,但是当您在 Page_Load 事件期间创建 RadioButtonList 时,它会在回发之间持续存在还是仅用于初始页面加载?您可能必须在 Page_Init 事件中创建它。尝试查看控件是否在回发之间持续存在,因为如果没有,则您无法在 Click 函数中引用它。
-
您也必须删除“IsPostBack”!
标签: asp.net vb.net radiobuttonlist