None
None

Reputation: 5670

Bind Model inside list to a repeater

I have a list of Employeements Object like this

List< Employeements>
public class Employeements
{
    public string EmploymentId { get; set; }
    public string ExternalId { get; set; }
    public ComapnyDetailResponse Employer { get; set; }
}

As you can see final field Employer is another model object. And it is consisted of data like this:

public class ComapnyDetailResponse
{
    public string id { get; set; }
    public string vatNumber { get; set; }
    public string name { get; set; }
}

Now I want to bind List<Employeements> to a repeater that will consist of fields from both Employeements and ComapnyDetailResponse.

How can I achieve this or in other words what is the best way?

My current code is like this

List<Employeements> userEmployeements = _rb.GetUserEmployeements(); //returns a list of Employeements
rptEmployeements.DataSource = userEmployeements; // rptEmployeements is the repeater
rptEmployeements.DataBind();


<asp:Repeater runat="server" ID="Repeater1">
    <ItemTemplate>
        <div class="education-item">
            <p>EmploymentId:<input type="text" name="txtCompany" value="<%#Eval("EmploymentId") %>" /></p>
            <p>vatNumber:<input type="text" name="txtCompany" value="<%#Eval("vatNumber") %>" /></p>
                    vatNumber
         </div>
     </ItemTemplate>
</asp:Repeater>

Upvotes: 1

Views: 690

Answers (1)

Christos
Christos

Reputation: 53958

Try this one:

value=<%#Eval("Employer.vatNumber")%>

This way you could bind the value of vatNumber that's a property of Employer object to the repeater you want.

Upvotes: 1

Related Questions