Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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下拉菜单触发错误事件_Asp.net_Events_Drop Down Menu - Fatal编程技术网

asp.net下拉菜单触发错误事件

asp.net下拉菜单触发错误事件,asp.net,events,drop-down-menu,Asp.net,Events,Drop Down Menu,我正在使用VS2010、.NET4、vb.net。我有一个asp.net网站,在一个页面上有两个下拉列表 <asp:DropDownList ID="ddlClassIndex" runat="server" AutoPostBack="true" /> <asp:DropDownList ID="ddlClassQBankList" runat="server" AutoPostBack="true" /> ~~~~~~~~~~ 更多信息 我正在检查页面回

我正在使用VS2010、.NET4、vb.net。我有一个asp.net网站,在一个页面上有两个下拉列表

  <asp:DropDownList ID="ddlClassIndex" runat="server" AutoPostBack="true" />
    <asp:DropDownList ID="ddlClassQBankList" runat="server" AutoPostBack="true" />
~~~~~~~~~~ 更多信息
我正在检查页面回发。当我从下拉列表中选择时,它会重定向到另一个页面。当我单击“上一步”按钮并在“其他”下拉列表中选择另一个值时,这两个值都被选中。我需要对viewstate做些什么吗?在我重拨到另一页之前?

非常老了,但是对于那些仍然看到这个平淡无奇答案的可怜的灵魂来说,你可能会在里克·斯特拉尔(同样老)的帖子中找到一些解脱


剧透警报:这有点骇人听闻,涉及到你自己的一些视图状态管理。

你能包括将事件连接到下拉列表的代码吗?我做一个页面是什么意思?ispostback=加载页面时进行错误检查?当
不是Page.IsPostBack
时,您在做什么?只有在
而不是Page.IsPostBack
时,才应将数据源绑定到它们。下拉列表是否层出不穷?我的意思是,当选择一个下拉列表时,它是否会影响另一个下拉列表的selectedindex?您在这两种情况下的SelectedIndexChanged中做什么?好的,这些问题比答案多,但也许这有助于你走上正确的道路。我刚刚想到,他可能正在使用VB.Net使用“句柄”连接事件,并且很可能复制粘贴了该方法并重命名了该方法,忘记了对其处理的控件所做的更改。这可能就是原因。我自己也不止一次忘记了这一点。但这并不能解释为什么第一个下拉列表的selectedindexchanged事件在选择第二个下拉列表时发生。他提到第二个ddl的正确处理程序是第一次调用的,而不是第二次调用的。他需要向我们展示他是如何将事件连接起来的。
 Private Sub LoadClass()
    Dim Os As List(Of Dempsey.OldeTestClassIndex) = Nothing
    Dim Oc As New Dempsey.OldeTestClassIndex_Controller
    Os = Oc._GetClassIndexData(0)

    Dim X = From w In Os
            Where w.Active = 3
            Select w

    Os = X.ToList

    With Me.ddlClassIndex
        .DataSource = Os.OrderBy(Function(o) o.ClassTitle)
        .DataTextField = "ClassTitle"
        .DataValueField = "tblClassIndexID"
        .DataBind()
        .Items.Insert(0, New ListItem("Choose Class Title", "0"))
        .SelectedIndex = 0
    End With


End Sub



Protected Sub ddlClassIndex_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlClassIndex.SelectedIndexChanged
    If Me.ddlClassIndex.SelectedIndex > 0 Then
        If ClassHasCategories(Me.ddlClassIndex) = True Then
            Response.Redirect("AddEditQBank.aspx?ClassIndexID=" & Me.ddlClassIndex.SelectedItem.Value)
        Else
            Me.lblStatus.Text = "No Categories"
            Me.lblStatus.Visible = True
        End If

    End If
End Sub

Private Sub LoadClassQBankList()
    Dim ary As New ArrayList
    ary.Add(1)
    ary.Add(2)
    ary.Add(3)

    Dim Os As List(Of Dempsey.OldeTestClassIndex) = Nothing
    Dim Oc As New Dempsey.OldeTestClassIndex_Controller
    Os = Oc._GetClassIndexData(0)

    Dim X = From w In Os Join l In ary On w.Active Equals l
            Where w.KT = 1 And w.RandomTest = 1
                    Select w

    Os = X.ToList

    With Me.ddlClassQBankList
        .DataSource = Os.OrderBy(Function(o) o.ClassTitle)
        .DataTextField = "ClassTitle"
        .DataValueField = "tblClassIndexID"
        .DataBind()
        .Items.Insert(0, New ListItem("Choose Class Title", "0"))
        .SelectedIndex = 0
    End With

End Sub
Protected Sub ddlClassQBankList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlClassQBankList.SelectedIndexChanged
    If Me.ddlClassQBankList.SelectedIndex > 0 Then
        Response.Redirect("ClassQBankList.aspx" & "?ClassIndexID=" & Me.ddlClassQBankList.SelectedValue)
    End If
End Sub