#c# #asp.net #repeater
#c# #asp.net #ретранслятор
Вопрос:
Возможно, кто-то видел этот пример динамического создания шаблонов в ASP.NET . Я строю свой собственный, очень похожий на этот. Мне интересно, как бы кто-нибудь предложил сделать его более общим, например, не имея возможности определить, сколько элементов будет возвращено через источник с привязкой к данным (item1, item2, item3 и т.д. и т.п.)
Возможно ли это? или порядок исполнения поставит точку в моем колесе динамизма?
switch (templateType)
{
case ListItemType.Header:
ph.Controls.Add(new LiteralControl("<table border="1">"
"<tr><td><b>Category ID</b></td>"
"<td><b>Category Name</b></td></tr>"));
break;
case ListItemType.Item:
ph.Controls.Add(new LiteralControl("<tr><td>"));
ph.Controls.Add(item1);
ph.Controls.Add(new LiteralControl("</td><td>"));
ph.Controls.Add(item2);
ph.Controls.Add(new LiteralControl("</td></tr>"));
ph.DataBinding = new EventHandler(Item_DataBinding);
break;
Комментарии:
1. Это совсем не похоже на хорошую идею. Наличие кода, генерирующего HTML, плохо; Наличие кода, определяющего стили, такие как границы и т. Д., Хуже.
2. Это приведенный выше пример MSDN, lol. msdn.microsoft.com/en-us/library/0e39s2ck.aspx
3. Это не делает его хорошим примером.
4. Это лучшая (одна из ссылок из того же плохого примера): msdn.microsoft.com/en-us/library/36574bf6.aspx
5. В этом примере та же проблема, мне нужно знать количество полей, возвращаемых при привязке данных. Это не работает «на лету».