У меня есть грубая операция с использованием Blazor Server Side и Editform. Все работает отлично, кроме тех случаев, когда я пытаюсь сбросить форму после редактирования существующей записи.
Когда я что-то меняю в элементе управления формы, а затем нажимаю кнопку сброса, форма закрывается. Данные, которые я изменяю, обновляются в таблице HTML, но не обновляются в базе данных.
Как я могу предотвратить это?
Вот моя модель:
public class Address
{
public string province { get; set; }
public string address { get; set; }
public string contact_name { get; set; }
public string phone_number { get; set; }
}
Это моя EditForm:
<EditForm Model="@model" OnValidSubmit="@HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<InputText @bind-Value="@model.province" />
</div>
<div class="form-group">
<InputText @bind-Value="@model.contact_name" />
</div>
<div class="form-group">
<InputText @bind-Value="@model.phone_number" />
</div>
<div class="form-group">
<InputText @bind-Value="@model.address" />
</div>
<button type="submit" class="btn btn-primary">Save</button>
<button type="reset" class="btn btn-warning">Cancel</button>
</EditForm>
Вот моя таблица HTML:
@if (address_list== null)
{
<p>Loading</p>
}
else
{
<table class="table table-striped text-center">
<thead>
<tr>
<th scope="col" class="text-center">Province</th>
<th scope="col" class="text-center">Contact Name</th>
<th scope="col" class="text-center">Phone</th>
<th scope="col" class="text-center">Address</th>
<th scope="col" class="text-center">Edit</th>
<th scope="col" class="text-center">Delete</th>
</tr>
</thead>
<tbody>
@foreach (var d in address_list)
{
<tr>
<td>@d.province</td>
<td>@d.contact_person</td>
<td>@d.phone_number</td>
<td>@d.address</td>
<td><button type="button" class="btn btn-link" @onclick="@(() => Edit(d))">Edit</button></td>
<td><button type="button" class="btn btn-link" @onclick="@(() => Delete(d))">Delete</button></td>
</tr>
}
</tbody>
</table>
}