Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 列表框包含选定的ID_Asp.net_Vb.net_Listbox_Contains - Fatal编程技术网

Asp.net 列表框包含选定的ID

Asp.net 列表框包含选定的ID,asp.net,vb.net,listbox,contains,Asp.net,Vb.net,Listbox,Contains,我很难让包含工作,我试图做的是得到列表框,看看是否有一个ID号是在项目列表中,然后我选择它,所以像这样的东西 Session("SavedID") = 3 if ListBoxAccess.Items.Contains(Convert.ToInt32(Session("SavedID"))) Then ListBoxAccess.SelectedValue = Session("SavedID") End If if ListBoxDenied.Items.Contains(C

我很难让包含工作,我试图做的是得到列表框,看看是否有一个ID号是在项目列表中,然后我选择它,所以像这样的东西

Session("SavedID") = 3
if ListBoxAccess.Items.Contains(Convert.ToInt32(Session("SavedID"))) Then
        ListBoxAccess.SelectedValue = Session("SavedID")
End If

if ListBoxDenied.Items.Contains(Convert.ToInt32(Session("SavedID"))) Then
        ListBoxDenied.SelectedValue = Session("SavedID")
End If

您可以使用foreach检查项目,并按值设置所选项目

  Dim savedId = Convert.ToInt32(Session("SavedID"))
  For Each item As ListItem In ListBoxAccess.Items
    If item.Value = savedId Then
        item.Selected = True
    End If
  Next

您可以使用foreach检查项目,并按值设置所选项目

  Dim savedId = Convert.ToInt32(Session("SavedID"))
  For Each item As ListItem In ListBoxAccess.Items
    If item.Value = savedId Then
        item.Selected = True
    End If
  Next

嗯,我认为数据类型会出现错误匹配。您可以:

  • 查看列表框是否包含ListBoxItem,或者

  • 将listBoxItem的值与另一个值进行比较

  • 因此,您可以创建一个要检查的项目,如:

    If ListBoxAccess.Items.Contains(ListBoxDenied.Items.Item) Then 
        ...
    Else
    
    或者,您必须循环浏览列表框的每个项目并了解您自己,即

    For Each item in ListBoxAccess.Items
       Dim ValInt as Int32 = CInt(item)
       ...
    Next
    

    嗯,我认为数据类型会出现错误匹配。您可以:

  • 查看列表框是否包含ListBoxItem,或者

  • 将listBoxItem的值与另一个值进行比较

  • 因此,您可以创建一个要检查的项目,如:

    If ListBoxAccess.Items.Contains(ListBoxDenied.Items.Item) Then 
        ...
    Else
    
    或者,您必须循环浏览列表框的每个项目并了解您自己,即

    For Each item in ListBoxAccess.Items
       Dim ValInt as Int32 = CInt(item)
       ...
    Next
    

    首先,谢谢你们的帮助,两个看起来都很好,但是我想出了一个简短的答案,我刚刚用过,没有用contains

    Session("SavedID") = 3
    if ListBoxAccess.Items.FindByValue(Session("SavedID")) IsNot Nothing Then
        ListBoxAccess.SelectedValue = Session("SavedID")
    End If
    
    if ListBoxDenied.Items.FindByValue(Session("SavedID")) IsNot Nothing Then
        ListBoxDenied.SelectedValue = Session("SavedID")
    End If
    

    测试效果很好

    首先感谢两位的帮助两位看起来都很好,但是我找到了一个简短的答案,我刚刚用过,没有用contains

    Session("SavedID") = 3
    if ListBoxAccess.Items.FindByValue(Session("SavedID")) IsNot Nothing Then
        ListBoxAccess.SelectedValue = Session("SavedID")
    End If
    
    if ListBoxDenied.Items.FindByValue(Session("SavedID")) IsNot Nothing Then
        ListBoxDenied.SelectedValue = Session("SavedID")
    End If
    
    测试效果很好