I'm just starting to learn Blazor and I have a problem, I made a simple crud app with Blazor Telerik and everything works but I can't save any changes to my app
Here is GridData
TelerikGrid Data=@uzytkownicy Sortable="true" Pageable="true" Height="300px">
<GridToolBar>
<TelerikButton OnClick="@DodajU">Dodaj użytkownika</TelerikButton>
<GridSearchBox DebounceDelay="200"></GridSearchBox>
</GridToolBar>
<GridColumns>
<GridColumn Field=@nameof(Uzytkowniccy.Imie) Title="Imie" Editable="true" />
...
<GridCommandButton Command="Edit" Icon="edit" OnClick="@EdytujRekord">Edycja</GridCommandButton>
<GridCommandButton Command="Delete" Icon="delete" OnClick="@DeleteItem">Usuń</GridCommandButton>
This is my Window Form Edit
TelerikWindow Visible="@isVisible" VisibleChanged="VisibleChangedHandler" Width="1100px" Height="400px" Centered="true" Modal="true">
<WindowTitle>
<strong>@TytulOkna</strong>
</WindowTitle>
<WindowContent>
<TelerikForm Model="@uzytkownik" OnValidSubmit="@OnValidSubmit" ValidationMessageType="@FormValidationMessageType.Inline" Class="my-telerik-form" Columns="3" ColumnSpacing="25px">
<FormValidation>
<DataAnnotationsValidator />
</FormValidation>
....
<FormButtons>
<TelerikButton ButtonType="@ButtonType.Submit" Primary="true">Zapisz</TelerikButton>
<TelerikButton OnClick="@CloseWindow" ButtonType="ButtonType.Button">Zamknij</TelerikButton>
</FormButtons>
</TelerikForm>
And here is my C# code there are add edit and delete methods in C # code
[Parameter] public Uzytkowniccy uzytkownik { get; set; }
[Parameter] public EventCallback OnValidSubmit { get; set; }
private string TytulOkna { get; set; }
bool isVisible { get; set; }
string result { get; set; }
bool Dodaj { get; set; }
bool Record { get; set; }
public void DodajU()
{
Record = true;
uzytkownik = new Uzytkowniccy();
uzytkownik.Imie = uzytkownik.Nazwisko = uzytkownik.Email = uzytkownik.Email = uzytkownik.Login = uzytkownik.Password = uzytkownik.PPassword = String.Empty;
isVisible = true;
}
public void EdytujRekord(GridCommandEventArgs args)
{
Record = false;
uzytkownik = (args.Item as Uzytkowniccy);
isVisible = true;
}
async Task DeleteItem(GridCommandEventArgs args)
{
var argsItem = (Uzytkowniccy)args.Item;
var httpResponseMessage = await Http.DeleteAsync($"api/uzytkownicy/{argsItem.Id}");
if (httpResponseMessage.IsSuccessStatusCode)
{
uzytkownicy.Remove(argsItem);
}
}
This is part which doesn't work I can't edit data add data work but edit existing record don't work
async Task OnValidSubmit(object obj)
{
isVisible = false;
if (obj != null)
{
if (Record)
{
await Http.PostAsJsonAsync("api/uzytkownicy", uzytkownik);
}
else
await Http.PutAsJsonAsync("api/uzytkownicy", uzytkownik);
}
użytkownicy = await Http.GetFromJsonAsync<List<Uzytkowniccy>>("api/uzytkownicy");
}
}