@page "/employee" @using Newtonsoft.Json; @using R = BlazorWebassemblyI18n.Resources; @inject IJSRuntime JSRuntime @inject Microsoft.Extensions.Localization.IStringLocalizer Localize @implements IMessage

@title



@foreach (string header in TableHeader) { } @foreach (Employee emp in lstEmployees) { }
@Localize[header]
@emp.Name @Localize[emp.Gender] @emp.City @emp.Salary.ToString("C2") @emp.JoiningDate
@code{ [Inject] private SessionManager sessionManager { get; set; } Employee employee = new Employee(); List lstEmployees = new List(); string title => string.Format(R.App.Title, companyName); string companyName = "Phrase"; string[] TableHeader = { "Name", "Gender", "City", "Salary", "Joining Date" }; protected override async Task OnInitializedAsync() { var empGetJS = (IJSInProcessRuntime)JSRuntime; var empList = await empGetJS.InvokeAsync("employeeData.get"); FetchEmployeeFromLocalStorage(empList); sessionManager.Register(this); } void SaveEmployeeToLocalStorage() { employee.JoiningDate = DateTime.Now; lstEmployees.Add(employee); var empSetJS = (IJSInProcessRuntime)JSRuntime; empSetJS.InvokeVoid("employeeData.set", JsonConvert.SerializeObject(lstEmployees)); employee = new Employee(); } public Task ReceiveMessage(string message) { this.StateHasChanged(); return Task.CompletedTask; } void FetchEmployeeFromLocalStorage(string empList) { if (empList != null) { lstEmployees = JsonConvert.DeserializeObject>(empList); } } class Employee { public string Name { get; set; } public string Gender { get; set; } public string City { get; set; } public int Salary { get; set; } public DateTime JoiningDate { get; set; } } }