У меня есть веб-приложение ASP.NET. Это приложение делает из глоссария элементов типа, подобные следующему:Span Two Columns при динамическом добавлении элементов управления
Это проходит через все буквы алфавита для элементов. Я рендеринга это и добавив его непосредственно в коллекцию Controls в Control Server, используя следующие:
List<char> alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray().ToList();
foreach (char c in alpha)
{
Label lblAlphaCharacter = new Label();
lblAlphaCharacter.Font.Size = 24;
lblAlphaCharacter.Font.Bold = true;
lblAlphaCharacter.Text = c.ToString(CultureInfo.InvariantCulture);
Controls.Add(lblAlphaCharacter);
Controls.Add(new LiteralControl("<p>"));
FilterOnAlphaCharacter(this, Page, c);
Controls.Add(new LiteralControl("<p>"));
}
private static void FilterOnAlphaCharacter(Control control, Page page, char character)
{
foreach (List<Things> item in items)
{
string title = item.Title;
string description = item.Definition;
HyperLink link = new HyperLink();
link.Text = title;
control.Controls.Add(link);
Label lblDescription = new Label();
lblDescription.Text = string.Format(" - {0}", description);
control.Controls.Add(lblDescription);
}
}
}
Я пытаюсь, в зависимости от содержания, в равной степени разделить это, так что это выглядит следующим образом:
Это может быть разное количество предметов. Таким образом, на самом деле в разделе «А» может быть 25 записей и, возможно, 1 под «Z». Вышеприведенное является лишь примером, оно проходит через все буквы A-Z. Ожидаемый результат будет основан на количестве контента, он будет разделен поровну между двумя столбцами. Я должен сделать это на стороне сервера (я думал, используя Table или HtmlTable и связанные объекты).
Howe вы бы реализовали решение для разделения контента поровну в таблице или подобных (вроде равнодушных на подход).