Vb.net RadioButtonList SelectedIndexchanged如果文本很长,则不触发事件
你好,我有一个小问题,或者说是一个让我头疼的大问题。我正在用vb.net编写一个在线考试应用程序。我注意到,如果单选按钮的文本很长,则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
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谢谢,我的观点是,事件中的代码并没有导致问题。您显示的代码与此无关,只是误导了调查。我看看是否可以重新创建问题。我无法重新创建问题。您确定事件没有触发,还是在事件中的某个位置出错?