Как я могу рандомизировать элементы управления при их добавлении - PullRequest
0 голосов
/ 13 февраля 2012

У меня три ul, как это:

<ul id="column3" class="column" runat="server"> </ul>

<ul id="column4" class="column" runat="server"> </ul>


<ul id="column5" class="column" runat="server"> </ul>

Я хочу добавить список элементов к ним случайным образом:

 HtmlGenericControl listItem1 = new HtmlGenericControl("li");
 listItem1.Attributes.Add("class", colors[RandString.Next(0, colors.Length -1)]);
 column3.Controls.Add(listItem1); //here  i wanna to randomize the ul(column3,column4,column5) like i do with the colors

Как сделать что-то подобное.

Ответы [ 3 ]

2 голосов
/ 13 февраля 2012

Вы можете поместить эти ul в массив

var uls = new[] { column3, column4, column5 };

, а затем выбрать случайный:

var ul = uls[random.Next(0, uls.Length)];
ul.Controls.Add(listItem1);

Обратите внимание, что вам не нужно uls.Length - 1, потому что верхняя границаявляется эксклюзивным в методе Next .

1 голос
/ 13 февраля 2012
var lists = new [] { column3, column4, column5 };
Random rand = new Random();
for ( int n = 0; n < 10; n++ )
{
   HtmlGenericControl listItem1 = new HtmlGenericControl("li");
   listItem1.Attributes.Add("class", colors[RandString.Next(0, colors.Length -1)]);
   lists[rand.Next(0,lists.Count)].Controls.Add(listItem1);
}
1 голос
/ 13 февраля 2012

Если вы имеете в виду рандомизировать содержимое ul, вы можете просто использовать значение int цвета как случайное определение.

...