I have a form that allows users to fill out multiple fields for electronics surplus. how do I send that the data from page 1 from a button click to a summary page (Page 2) where all the entered information can be reviewed before it is updated in the database .
this is my code for Page one:
@page "/surplus-items-new"
@attribute [Authorize]
<PageTitle>SurplusItemsNew</PageTitle>
<div class="container">
    <h1 class="text-center">Surplus Form</h1>
    <div class="row">
        <div class="col-md-12">
            <RadzenAutoComplete TextProperty="BuildingName" Data="@buildingLists" Placeholder="School Name" Style="width: 100%" Multiline="false" />
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <RadzenDataGrid TValue="Surplus.Models.WASPO.SurplusItemsNew" Data="@surplusItemsNews" AllowSorting="true" AllowPaging="true" AllowFiltering="true" Responsive="true" Placeholder="">
                <Columns>
                    <RadzenDropDownDataGridColumn Property="CPSNumber" Title="CPSNumber" />
                    <RadzenDropDownDataGridColumn Property="Description" Title="Description" />
                </Columns>
            </RadzenDataGrid>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <div class="card">
                <div class="card-body">
                    <h5 class="card-title"></h5>
                    <RadzenAutoComplete TextProperty="CPSNumber" Data="@surplusItemsNews" Placeholder="Enter CPS Number" Style="width: 100%" Multiline="false" />
                    <h5 class="card-title"></h5>
                    <RadzenAutoComplete TextProperty="Description" Data="@surplusItemsNews" Placeholder="Enter Item Description" Style="width: 100%" />
                    <RadzenDropDownDataGrid TValue="string" ValueProperty="ReasonDescription" TextProperty="ReasonDescription" Data="@reasons" AllowSorting="true" AllowPaging="true" AllowFiltering="false" Style="width: 100%" Responsive="true" Placeholder="Select Reason" ShowSearch="false" PageSize="10" AllowVirtualization="false">
                        <Columns>
                            <RadzenDropDownDataGridColumn Property="ReasonDescription" Title="ReasonDescription" />
                        </Columns>
                    </RadzenDropDownDataGrid>
                </div>
            </div>
        </div>
    </div>
</div>
Thanks in advance!
             
            
              
                
            
           
          
            
              
                korchev  
              
                  
                    September 14, 2023,  2:45pm
                   
                  2 
               
             
            
              Hi @Christopher_DeBrodie ,
Storing items is usually done in one of a few ways:
In your database. You can have another table which contains data before review. 
In some storage - session or browser. Here are the available options for Blazor: ASP.NET Core Blazor state management | Microsoft Learn  
 
             
            
              
            
           
          
            
            
              Thank you so much @korchev   I ended up going with using your 2nd suggestion but now my fields in the RadzenCard are not showing up at all on the page
here is my updated code:
@page "/form"
@inject IJSRuntime JSRuntime
@inject NavigationManager NavigationManager
@inject DialogService DialogService
@inject ContextMenuService ContextMenuService
@inject TooltipService TooltipService
@inject NotificationService NotificationService
@inject NavigationManager NavManager
<PageTitle>Form</PageTitle>
<div class="container">
    <div class="row">
        <div class="col-md-12">
            <h1 class="h3">Surplus Form</h1>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <div class="form-group">
                <RadzenDropDownDataGrid TValue="string" ValueProperty="BuildingName" TextProperty="BuildingName" Data="@buildingLists" Placeholder="School Name" Style="width: 100%" AllowSorting="false" AllowSelectAll="false" AllowFiltering="false" ShowSearch="false" PageSize="60">
                    <Columns>
                        <RadzenDropDownDataGridColumn Property="BuildingName" Title="BuildingName" />
                    </Columns>
                </RadzenDropDownDataGrid>
            </div>
        </div>
    </div>
    <div class="container">
    <div class="row">
        <div class="col-md-12">
            <div class="form-group">
                @foreach (var inputData in inputCardData)
                {
                    <div class="col-md-4"> <!-- Add this div to control card width -->
                        <RadzenCard Variant="Radzen.Variant.Filled">
                            <div class="form-group">
                                <RadzenAutoComplete @bind-Value="inputData.CPSNumber" Placeholder="CPS Number" Style="width: 100%" />
                            </div>
                            <div class="form-group">
                                <RadzenAutoComplete @bind-Value="inputData.Description" Placeholder="Item Description" Style="width: 100%" />
                            </div>
                            <div class="form-group">
                                <RadzenDropDownDataGrid TValue="string" ValueProperty="ReasonDescription" TextProperty="ReasonDescription" Data="@reasons" Style="width: 100%" ShowSearch="false" AllowFiltering="false" AllowSorting="false" AllowSelectAll="false" Placeholder="Reason For Surplus" PageSize="10">
                                    <Columns>
                                        <RadzenDropDownDataGridColumn Property="ReasonDescription" Title="ReasonDescription" />
                                    </Columns>
                                </RadzenDropDownDataGrid>
                            </div>
                        </RadzenCard>
                    </div>
                }
            </div>
        </div>
    </div>
</div>
</div>
<RadzenButton Style="width: 100%; min-width: 0px; min-height: 0px; height: 40px; display: block" Text="Finalize List" Click="FinalizeList"></RadzenButton>
@code {
    [Inject]
    protected Surplus.WASPOService WASPOService { get; set; }
    protected System.Linq.IQueryable<Surplus.Models.WASPO.SurplusItemsNew> surplusItemsNews;
    protected System.Linq.IQueryable<Surplus.Models.WASPO.BuildingList> buildingLists;
    protected System.Linq.IQueryable<Surplus.Models.WASPO.Reason> reasons;
    // Create a class to hold form data
    public class FormData
    {
        public string CPSNumber { get; set; }
        public string Description { get; set; }
        public string ReasonDescription { get; set; }
    }
    // Create a list to store instances of the form data
    List<FormData> inputCardData = new List<FormData>();
    protected override async Task OnInitializedAsync()
    {
        surplusItemsNews = await WASPOService.GetSurplusItemsNews();
        buildingLists = await WASPOService.GetBuildingLists();
        reasons = await WASPOService.GetReasons();
    }
    // Event handler for the "Finalize List" button
    private void FinalizeList()
    {
        // Store the input card data in session data
        var sessionData = inputCardData;
                NavManager.NavigateTo("/summary");
        // You can now use sessionData as needed
        // For example, you can store it in session or pass it to another component or page.
    }
}
can you please assist on why that might be?
Thanks in advance