簡體   English   中英

通過值C#從數組中多選ListBox項

[英]Multi Selecting ListBox Items From Array by Value C#

我想從數組中多選項目,

出於某種原因,此代碼將引發NullReferenceException異常:

        int[] players = Playerss.GetAllPlayersIDbyMovieID(movie);
        foreach (int playerID in players)
        {
            PlayersListBox.Items.FindByValue(playerID.ToString()).Selected = true;
        }

當我改用此代碼時,它可以工作,但只會保留最后選擇的選項:

            int[] players = Playerss.GetAllPlayersIDbyMovieID(movie);
            foreach (int playerID in players)
            {
                PlayersListBox.SelectedValue += playerID.ToString();
            }

ASP .NET文件:

<asp:ListBox ID="PlayersListBox" runat="server" 
            SelectionMode="Multiple"
                   DataSourceID="PlayersAccessDataSource"
                      DataTextField="Player" 
                      DataValueField="PlayerID"           

            ></asp:ListBox> 
Playerss.GetAllPlayersIDbyMovieID(movie); 

您可能會收到一個空異常請求,因為在Playerss.GetAllPlayersIDbyMovieID(movie)方法的結果中某處有一個選項在PlayersListBox.Items中不可用

在嘗試為不存在的對象設置屬性值之前,可以通過檢查null來解決此問題。

int[] players = Playerss.GetAllPlayersIDbyMovieID(movie);
    foreach (int playerID in players)
    {
        var player = PlayersListBox.Items.FindByValue(playerID.ToString());
        if (player != null) 
        {
            player.Selected = true;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM