Vb.net RadioButtonList SelectedIndexchanged如果文本很长,则不触发事件

Vb.net RadioButtonList SelectedIndexchanged如果文本很长,则不触发事件,vb.net,webforms,radiobuttonlist,selectedindexchanged,Vb.net,Webforms,Radiobuttonlist,Selectedindexchanged,你好,我有一个小问题,或者说是一个让我头疼的大问题。我正在用vb.net编写一个在线考试应用程序。我注意到,如果单选按钮的文本很长,则SelectedIndexchanged事件不会触发。不知道为什么会这样。但是,当我减少文本长度时,事件按预期触发。我需要启动事件,因为这就是我保存参加考试的参与者的选定答案选择的方式 Dim i As Integer = CType(Session("i"), Integer) Dim index As Integer = rad.Selected

你好,我有一个小问题,或者说是一个让我头疼的大问题。我正在用vb.net编写一个在线考试应用程序。我注意到,如果单选按钮的文本很长,则SelectedIndexchanged事件不会触发。不知道为什么会这样。但是,当我减少文本长度时,事件按预期触发。我需要启动事件,因为这就是我保存参加考试的参与者的选定答案选择的方式

  Dim i As Integer = CType(Session("i"), Integer)

    Dim index As Integer = rad.SelectedIndex

    ''here am checking if the person has already answered the question

    ''the person has already answered the question so projct answer back

    Dim myAns As New SerializableDictionary(Of Integer, Integer)


    ''am saving back the answer that the idiot has just answerd 
    Dim xml_serializer As New  _
       XmlSerializer(GetType(SerializableDictionary(Of Integer, Integer)))
    Using string_reader As New StringReader(Session("SVEnglish"))
        myAns = DirectCast(xml_serializer.Deserialize(string_reader),  _
            SerializableDictionary(Of Integer, Integer))
    End Using


    If myAns.ContainsKey(i) Then
        myAns.Remove(i)
        myAns.Add(i, index)
    Else
        myAns.Add(i, index)
    End If

    ''saving back to session

    Dim savedAns As String = ""
    Dim xml_serializer2 As New  _
        XmlSerializer(GetType(SerializableDictionary(Of Integer, Integer)))
    Try
        Using string_writer As New StringWriter()
            xml_serializer.Serialize(string_writer, myAns)
            savedAns = string_writer.ToString
            Session("SVEnglish") = savedAns
            string_writer.Close()
        End Using
    Catch ex As Exception
        Stop
    End Try




    Dim selectAnswers As New SerializableDictionary(Of Integer, String)

    Dim xml_serializerAnswers As New  _
         XmlSerializer(GetType(SerializableDictionary(Of Integer, String)))
    Using string_reader As New StringReader(Session("SelAnswerEnglish"))
        selectAnswers = DirectCast(xml_serializerAnswers.Deserialize(string_reader),  _
                SerializableDictionary(Of Integer, String))
    End Using
    If selectAnswers.ContainsKey(i) Then
        selectAnswers.Remove(i)
        selectAnswers.Add(i, rad.SelectedItem.Text)

    Else
        selectAnswers.Add(i, rad.SelectedItem.Text)
    End If



    Dim selAns2 As String = ""

    Dim xml_serializerSavedAnswers As New  _
            XmlSerializer(GetType(SerializableDictionary(Of Integer, String)))
    Try
        Using string_writer As New StringWriter()
            xml_serializerSavedAnswers.Serialize(string_writer, selectAnswers)
            selAns2 = string_writer.ToString
            Session("SelAnswerEnglish") = selAns2
            string_writer.Close()
        End Using
    Catch ex As Exception
        Stop
    End Try
End Sub

这是我在selectedindexchanged子例程中运行的代码。radiobuttonlist是从数据库填充的。非常感谢任何帮助或建议

为每个单选按钮使用文本框或标签,您只需跟踪从单选按钮中选择的内容即可。。文本只是单选按钮附近的文本:)如果事件未触发,则显示的代码未运行,无法帮助查找问题。一些有用的信息可能是:这是winforms还是WPF?那是Telerik RAD控件还是标准winforms控件?课文到底有多长?你把它缩小到特定的字符数了吗?什么字体大小?@Crowcoder这是一个web表单项目,代码运行。selectedindexChanged事件仅在文本长度不超过100时触发characters@James谢谢,我的观点是,事件中的代码并没有导致问题。您显示的代码与此无关,只是误导了调查。我看看是否可以重新创建问题。我无法重新创建问题。您确定事件没有触发,还是在事件中的某个位置出错?