<asp:Repeater ID="ReptServices" runat="server" OnItemDataBound="ReptServices_OnItemDataBound">
<b>
<td> <%# Eval("ApplicationSteps") %></td>
<td><%# Eval("Service.ServiceName") %></td>
<td>
<b><%# Eval("BeneficiaryUserUnitJob.User.NameAr") %> </b>
</td>
<td><%# Eval("DateCreated") %></td>
</b>
</asp:Repeater>
这个转发器填入c#作为
ReptServices.DataSource = new ApplicationLogic(ApplicationType.Web).GetAllOutboxApplication(_currentUserUnitJob);
&#34; ApplicationSteps&#34;属性包含许多元素,其中包含另一个名为submitactiontypeid
的属性,如下图所示:
我希望得到submitactiontypeid
的最后一个元素中存在的ApplicationSteps
的值
我问我将在<%# Eval("ApplicationSteps") %>
答案 0 :(得分:1)
我为您提供了不同的解决方案。
如果您无法修改您的代码,我们仍然不需要转发器来解决。
<%
var repeaterDataSource = (dynamic)ReptServices.DataSource;
foreach (var item in repeaterDataSource)
{%>
<%=item.ApplicationSteps %>
<%}%>
这是您的基本中继器。因为我不知道你绑定到repater的数据类型是什么,所以我使用动态类型。
您可以根据自己的目的进行修改。
<%=item.ApplicationSteps.Last().SubmitActionTypeId %>
首先,调试时不添加此行。如果工作正常,请添加上面的代码,然后重试。
答案 1 :(得分:0)
如果您只需要在页面中呈现该值,那么repeater
就没用了。试试这段代码:
ASP
<asp:Label runat="server" ID="SubmitActionType"></asp:Label>
然后是服务器端(C#)
using System;
using System.Collections.Generic;
using System.Linq;
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var applicationSteps = GetApplicationSteps(); //Call the function that gives you the data you need
var lastElement = applicationSteps.Last(); //Get the last element
SubmitActionType.Text = lastElement.SubmitActionTypeId;
}
}
当您需要为对象数组中的每个值渲染一些html时,repeater
非常有用。在这种情况下,你显然没有这样做。