这是一个 ASP.Net 2.0 网络应用程序。Item 模板如下所示,供参考:
<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 上提出任何其他内容或快速利用这个来做我想做的事。我能看到获取数据的唯一方法是使用正则表达式来获取它(因为一个人拿走了他想要的东西。他拿走了一切。我是男人,不是吗?Aren不是吗?)。
我是否走在正确的轨道上(不是在寻找特定的正则表达式来执行此操作;伪造这可能是一个后续问题;)),还是我错过了什么?
在这种情况下,中继器是一成不变的,所以我无法切换到更优雅的东西。曾几何时,我做了一些类似于 Alison Zhou 建议使用 DataLists 的事情,但已经有一段时间了(2 年多),我完全忘记了这样做。是的,谈论忽略一些明显的东西。. .
所以我按照艾莉森的建议做了,效果很好。我不认为这里的视图状态是一个问题,即使这个转发器可以获得几十行。如果这样做与使用相反,我真的无法回答这个问题(但这对我来说似乎是一个很好的解决方案)。显然后者不是一个视图状态足迹,但我没有足够的经验来说明什么时候一种方法可能比另一种方法更可取,而我面前没有一个极端的例子。艾莉森,一个问题:为什么是文字而不是标签?
Euro Micelli,我试图避免返回数据库。由于相对于开发世界的其他人来说,我仍然有点陌生,我承认我不一定很好地掌握有多少数据库旅行是“恰到好处”的。这里不会有性能问题(我知道应用程序的负载足以知道这一点),但我想我是出于习惯试图避免它,因为我的老板倾向于尽可能减少旅行。