我的数据库中有八个项目。它们各自具有不同的文本和值属性。我将它们绑定在If Not Page.IsPostBack Then
上。下拉列表中的其他项目正在ddlType_SelectedIndexChanged
上运行。但是我有两个项目,当我选择它们时,它转到SelectedIndexChanged
方法,它认为索引是0,值/文本是第一个。然后页面重新加载,并选择第一个值。任何人都可以给我任何方向或建议如何解决这个问题(这似乎是一个错误)??
两个项目不起作用的是索引1和索引7.每当我选择它们时,页面重新加载索引0.我已经尝试更改这两个值的索引但是无论它们在下拉列表中的哪个位置,它们都会不行。
<asp:DropDownList ID="ddlType" runat="server" AutoPostBack="true"></asp:DropDownList>
Protected Sub Page_Load1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
PopulateDropDownFields(ddlType, Session("LOB"), "NENB")
End If
End Sub
这是我使用GetFields方法的方法,该方法是对具有八个值的select存储过程的调用:
Public Shared Sub PopulateDropDownFields(ByVal theList As DropDownList, ByVal LOB As String, ByVal FieldType As String, Optional ByVal UseDescription As Boolean = True, Optional ByVal IncludeAll As Boolean = False)
theList.Items.Clear()
For Each s As Fields In Fields.GetFields(FieldType, LOB)
If UseDescription Then
theList.Items.Add(New ListItem(s.Key, s.Value & "|" & s.Length))
Else
theList.Items.Add(New ListItem(s.Value))
End If
Next
End Sub
我正在尝试在此方法中调试它,但每当我选择这两个值时,它会转到索引0处的第一个值。下拉列表中的其他六个值。
Protected Sub ddlType_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlType.SelectedIndexChanged
Dim str As String = ddlType.SelectedItem.ToString()
Dim index As Integer = ddlType.SelectedIndex
End Sub
答案 0 :(得分:0)
试试这个:
受保护的子ddlType_SelectedIndexChanged(发件人为对象,e As EventArgs)处理ddlType.SelectedIndexChanged
Dim str As String = Sender.SelectedItem.ToString() Dim index As Integer = Sender.SelectedIndex
End Sub