2016-02-25 3 views
0
 <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); 

«ApplicationSteps» свойство содержит много элементов, который содержит еще одно свойство под названием submitactiontypeid, как Это изображение показывает :

enter image description here

Я хочу, чтобы получить значение submitactiontypeid, которые существуют в последнем elment из ApplicationSteps

Я спросил, что я буду писать в <%# Eval("ApplicationSteps") %>

+0

Значит, вам нужно значение 'Eval (« ApplicationSteps »)' последнего 'RepeaterItem'? Где? –

+0

извините невозможно понять !! –

+0

Непонятно, чего вы на самом деле хотите и где вам это нужно. –

ответ

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; 
    } 
} 

The repeater полезно, когда вам нужно сделать некоторые HTML для каждого значения внутри массива объектов. В этом случае вы явно этого не делаете.

+0

Я не могу изменить в классе cs Я просто доступный для редактирования в aspx –

+0

@saraadly какой-либо конкретной причины для этого? Почему вы не можете изменить его? –

+0

также источник данных ретранслятора, динамически заполненный из одного запроса в C# –

1

Я пришел с другим решением для вас.

Если вы не можете изменить свой код, все равно нам не нужен ретранслятор для решения.

<% 
var repeaterDataSource = (dynamic)ReptServices.DataSource; 
foreach (var item in repeaterDataSource) 
{%> 

<%=item.ApplicationSteps %> 

<%}%> 

Это ваш основной ретранслятор. Из-за того, что я не знаю, какой тип данных вы связываете с репатером, я использую динамический тип.

Вы можете изменить для своей цели.

<%=item.ApplicationSteps.Last().SubmitActionTypeId %> 

Во-первых, отладка без добавления этой строки. Если он работает нормально, добавьте код выше и повторите попытку.

+0

, когда я делаю первый код, он работал как старый, без ошибок, когда я пишу последний, он дает мне сообщение об ошибке: '' System.Collections.Generic.HashSet 'не содержит определение 'Last'' –

Смежные вопросы