Это веб-приложение ASP.Net 2.0. Шаблон элемента выглядит следующим образом:
<ItemTemplate>
<tr>
<td class="class1" align=center><a href='url'><img src="img.gif"></a></td>
<td class="class1"><%# DataBinder.Eval(Container.DataItem,"field1") %></td>
<td class="class1"><%# DataBinder.Eval(Container.DataItem,"field2") %></td>
<td class="class1"><%# DataBinder.Eval(Container.DataItem,"field3") %></td>
<td class="class1"><%# DataBinder.Eval(Container.DataItem,"field4") %></td>
</tr>
</ItemTemplate>
Использование этого в codebehind:
foreach (RepeaterItem item in rptrFollowupSummary.Items)
{
string val = ((DataBoundLiteralControl)item.Controls[0]).Text;
Trace.Write(val);
}
Я произвожу это:
<tr>
<td class="class1" align=center><a href='url'><img src="img.gif"></a></td>
<td class="class1">23</td>
<td class="class1">1/1/2000</td>
<td class="class1">-2</td>
<td class="class1">11</td>
</tr>
Что мне нужно, так это данные из Field1 и Field4
Кажется, я не могу получить данные так, как я бы сказал, в DataList или GridView, и я не могу придумать что-либо еще в Google или быстро использовать это, чтобы делать то, что я хочу. Единственный способ увидеть данные - использовать регулярное выражение для получения и получения данных (потому что человек берет то, что хочет. Он берет все это. И я мужчина, не так ли? Арен? не так ли?)
Я на правильном пути (не ищу конкретного регулярного выражения, чтобы сделать это; подделка, которая может быть последующим вопросом;)), или я что-то упустил?
Повторитель в этом случае установлен в камне, поэтому я не могу переключиться на что-то более элегантное. Когда-то я делал что-то похожее на то, что Элисон Чжоу предлагал использовать DataLists, но это было какое-то время (2+ года), и я просто полностью забыл сделать это таким образом. Даааа, поговорим о том, чтобы упустить что-то очевидное , .
Итак, я сделал, как предложила Элисон, и все работает отлично. Я не думаю, что представление состояния является проблемой здесь, хотя этот ретранслятор может получить десятки строк. Я не могу говорить с этим вопросом, если я делаю это таким образом, вместо того, чтобы использовать вместо этого (но это кажется мне хорошим решением в противном случае). Очевидно, что последнее не так сильно влияет на состояние обзора, но я недостаточно опытен, чтобы сказать, когда один подход может быть предпочтительнее другого без крайнего примера передо мной. Элисон, один вопрос: почему литералы, а не метки?
Евро Мичелли, я пытался избежать обратной поездки в базу данных. Поскольку я все еще немного зеленоват по отношению к остальному миру разработки, я признаю, что не обязательно хорошо понимаю, сколько поездок по базам данных «просто правильно». Здесь не было бы проблемы с производительностью (я знаю загрузку приложения, достаточную для того, чтобы это знать), но я полагаю, что пытался избежать ее по привычке, поскольку мой босс, как правило, выделяет меньше поездок, где это возможно.