2017-12-28 12 views
0

私はリストボックスを持ち、値とテキストをバインドする必要があります。リストボックスの値とテキストをaspxのC#でバインドする

値とテキストはクエリ文字列から取得され、コンマで区切られます。次のように

私のコードが行く:

var pIDs = Request.QueryString["pIds"]; 
var pIDsText = Request.QueryString["pText"]; 
var SeparatedIds = pIDs.Split(',').Distinct().ToArray(); 
var SeparatedPIdsText = pIDsText.Split(',').Distinct().ToArray(); 

System.Web.UI.WebControls.ListBox ls = (System.Web.UI.WebControls.ListBox)User_Control_ListBox1.FindControl("lstShowPrograms"); 

for (int i = 0; i < SeparatedPIdsText.Length; i++) 
{ 
     if (!string.IsNullOrEmpty(SeparatedPIdsText[i])) 
      { 

       ls.Items.Add(SeparatedPIdsText[i]); 
      } 

} 

上記のコードはtext.Iを追加されている値とテキストの両方を設定したいです。 表示するテキストと背景の値(ID)。

+0

があるだろうことを確認してくださいls.Items代わりのstring

ls.Items.Add(new ListItem(SeparatedPIdsText[i], SeparatedIds[i])); 

ListItemを追加両方のための。 –

答えて

1

だけSeparatedIdsSeparatedPIdsTextが同じ長さを持っているか、あなたがループしてテキストのみの変数は、ネストされたループを試す追加しているのでIndexOutOfRangeException

+0

ありがとうエバン.... – SantyEssac

関連する問題