I am attempting to pass a a list of users to a custom component I am developing, however I receive the build error:
The name 'users' does not exist in the current context.
Code:
@page "/transactions/list"
@using Accounting.Web.Components.DataTable;
<h3>List</h3>
List
<DataTable Items="users" class="table table-bordered">
</DataTable>
@code {
public class User
{
public int Id { get; set; }
public string Username { get; set; }
}
public List<User> users { get; set; } = new();
User user = new()
{
Id = 1,
Username = "Me"
};
users.Add(user); @<< This is where the error occurs
}
I can't see where I am going wrong...
Instruction need to be encapsulate in method. If you want load data in a component, you can override OnInitialized
:
@code {
public class User
{
public int Id { get; set; }
public string Username { get; set; }
}
public List<User> users { get; set; } = new();
User user = new()
{
Id = 1,
Username = "Me"
};
protected override void OnInitialized()
{
users.Add(user);
}
}
But I think you only want data to test the display. In this case you can simplify like :
@code {
public class User
{
public int Id { get; set; }
public string Username { get; set; }
}
public List<User> users { get; set; } = new List<User>{
new User{
Id = 1,
Username = "Me"
},
new User{
Id = 2,
Username = "You"
}
};
}