2010-05-13 3 views
1

У меня есть страницы ASP.NET, которая имеет код-за метода, который определяется следующим образом:asp.net + C# - формат данных, связанных в ретранслятор

public string GetStatusColor(int statusID) 
{ 
    string color = "White"; 
    if (statusID == 3) 
    color = "Red"; 
    else if (statusID == 2) 
    color = "Blue"; 
    return color; 
} 

В моей странице ASP.NET, я имеют Repeater, который определяется следующим образом:

<asp:Repeater ID="ticketRepeater" runat="server" OnLoad="ticketRepeater_Load"> 
    <HeaderTemplate> 
    <table id="resultTable" cellpadding="0" cellspacing="0">  
     <tr> 
     <th>Ticket #</th> 
     <th>Status</th> 
     </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
    <tr> 
     <td><%# DataBinder.Eval(Container.DataItem, "TicketID") %></td> 
     <td><%# DataBinder.Eval(Container.DataItem, "TicketStatusID") %></td> 
    </tr> 
    </ItemTemplate> 
    <FooterTemplate> 
    </table> 
    </FooterTemplate> 
</asp:Repeater> 

по существу, когда TicketStatusID связан, я хочу, чтобы перезвонить GetStatusColor и отображать результат метода вместо фактического ID. Как это сделать в ретрансляторе? Спасибо!

ответ

2

страница:

<td><%# GetStatusColor(Container.DataItem)%></td> 

отделенного кода:

public string GetStatusColor(object dataItem) 
{ 
    string color = "White"; 
    var ticket = dataItem as YourTicketClass; 
    if(ticket != null) 
    { 
     if (ticket.TicketStatusID == 3) 
     color = "Red"; 
     else if (ticket.TicketStatusID == 2) 
     color = "Blue"; 
    } 
    return color; 
} 
1

Просто

<td><%# GetStatusColor(DataBinder.Eval(Container.DataItem, "TicketStatusID")) %></td> 

Если TicketStatusID разве ИНТ уже, вам нужно бросить или разобрать его

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