Это веб-приложение ASP.Net 2.0. Шаблон товара выглядит следующим образом, для справки:Программный доступ к данным в репитере 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>
Используя это в коде:
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+ года), и я просто совсем забыл об этом. Йиш, поговорите о том, чтобы пропустить что-то очевидное. , ,
Так что я сделал, как предложил Элисон, и все работает отлично. Я не думаю, что в этом представлении присутствует проблема, хотя этот ретранслятор может получить десятки строк. Я не могу ответить на вопрос, если вы делаете это так против использования вместо этого (но это похоже на прекрасное решение для меня иначе). Очевидно, что последний имеет меньшую видимость, но я недостаточно опытен, чтобы сказать, когда один подход может быть предпочтительным для другого без экстремального примера передо мной. Элисон, один вопрос: почему литералы, а не ярлыки?
Euro Micelli, я пытался избежать обратной поездки в базу данных. Поскольку я все еще немного зеленый относительно остальной части мира разработки, я признаю, что не обязательно хорошо разбираюсь в том, сколько рейсов в базу данных «правильно». Здесь не было бы проблемы с производительностью (я знаю, что нагрузка приложения достаточно, чтобы это знать), но я полагаю, что я старался избегать этого по привычке, поскольку мой босс имеет тенденцию подчеркивать меньшее количество поездок там, где это возможно.
Я не понимаю, что вы подразумеваете под «получить» данные. Не факт, что у вас есть доступ к rptrFollowUpSummary, означает, что у вас уже есть данные в его исходной форме? – 2008-09-10 17:05:18