Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将onclick事件添加到动态添加的单选按钮_Asp.net_Vb.net - Fatal编程技术网

Asp.net 将onclick事件添加到动态添加的单选按钮

Asp.net 将onclick事件添加到动态添加的单选按钮,asp.net,vb.net,Asp.net,Vb.net,我正在创建一个包含30个单选按钮的在线考试页面,这些单选按钮是在运行时动态创建的 我将如何获取每个单选按钮的单击事件,并在我的方法中标记它,以检查下一个问题是否需要跳转或转义 例如: 如果我在问题10中,回答“是”,请将我重定向到问题15,否则转到下一个问题,使用以下语句: AddHandler radioButton.Click, AddressOf instance.MethodName 参考< P>也考虑使用匿名子(VB2010)编写事件处理程序内联 AddHandler radi

我正在创建一个包含30个单选按钮的在线考试页面,这些单选按钮是在运行时动态创建的

我将如何获取每个单选按钮的
单击
事件,并在我的方法中标记它,以检查下一个问题是否需要跳转或转义

例如:


如果我在问题10中,回答“是”,请将我重定向到问题15,否则转到下一个问题,使用以下语句:

AddHandler radioButton.Click, AddressOf instance.MethodName  


参考

< P>也考虑使用匿名子(VB2010)编写事件处理程序内联

AddHandler radioButton.Click,
    Sub(s As Object, e As EventArgs)
        MessageBox.Show("Awesome!")            
    End Sub
改编自

您还可以…

HTML代码-

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Panel ID="RadioButtonsPanel" runat="server" />
    </form>

</body>
</html>

代码运行良好,但AddressOf不允许方法传递参数。@akram-如果我想传递radiobutton.ID和radiobutton,我该怎么做。text@spy:没有必要。阅读@Akram-请向我解释如何做到这一点。我有一个动态的radiobutton,然后我将在radionbutton AddHandler NewRbt.CheckedChanged的每个创建中添加此代码,AddressOf GetRadioButtonID,它将获得新选择的单选按钮的值。。我将把每一行的代码粘贴到这里,作为rdt.Rows spacer=New LiteralControl(“
”)pnlQuestion.Controls.Add(spacer)Dim NewRbt As RadioButton=New RadioButton()NewRbt.ID=strQuestionId+“”+row.Item(“答案”)。ToString NewRbt.Text=row.Item(“说明”).ToString NewRbt.GroupName=intQuestionNo.ToString NewRbt.AutoPostBack=True AddHandler NewRbt.CheckedChanged,ValidateClick的地址pnlQuestion.Controls.Add(NewRbt)私有函数ValidateClick(ByVal作为字符串)作为字符串视图状态(“ControlId”)=ControlId结束函数
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    '   Add each radio button 
    AddNewRaduiButton("MyRadio1")
    AddNewRaduiButton("MyRadio2")
    AddNewRaduiButton("MyRadio3")
    AddNewRaduiButton("MyRadio4")
End Sub

Private Sub AddNewRaduiButton(ByVal name As String)

    '   Create a new radio button 
    Dim MyRadioButton As New RadioButton

    With MyRadioButton
        .ID = name
        .AutoPostBack = True
        .Text = String.Format("Radio Button - '{0}'", name)
    End With

    '   Add the click event to go to the sub "MyRadioButton_CheckedChanged"
    AddHandler MyRadioButton.CheckedChanged, AddressOf MyRadioButton_CheckedChanged

    Page.FindControl("RadioButtonsPanel").Controls.Add(MyRadioButton)
End Sub


Protected Sub MyRadioButton_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)

    '   Convert the Sender object into a radio button 
    Dim ClickedRadioButton As RadioButton = DirectCast(sender, RadioButton)

    '   Display the radio button name
    MsgBox(String.Format("Radio Button {0} has been Updated!", ClickedRadioButton.ID))

End Sub