c# - 删除函数从数据库中删除表值,但不从 BLAZOR 中的 HTML 表中删除
问题描述
我的 blazor 应用程序中有这个 html 表,它显示公司列表。现在,当我想删除特定行时,我单击删除图标。我注意到删除函数正在从数据库中删除行值,而不是从视图中删除。请检查我的代码,如果我错过了什么,请告诉我。
代码:
<table>
<thead>
<tr>
<th>ID</th>
<th>Company Name</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
@foreach (var Result in lstCompanies)
{
<tr>
<td>@Result.id</td>
<td>@Result.companyName</td>
<td>
<button @onclick="() => RemoveCompanyFromList(Result)">
<i class="fa fa-trash-o fa-lg"></i>
</button>
</td>
</tr>
}
</tbody>
</table>
onclick 删除功能代码:
[Parameter]
public EventCallback<List<Models.UTP>> ItemUpdated { get; set; }
private void RemoveCompanyFromList(Models.UTP utpResult)
{
string utpidResult = utpResult.utpid;
try
{
Http.PutAsJsonAsync($"api/Users/company/remove/{utpidResult}", utpidResult);
ItemUpdated.InvokeAsync(lstCompanies);
StateHasChanged();
}
catch (Exception ex)
{
string exMsg = ex.Message;
}
}
解决方案
只需确保该项目已从 lstCompanies 中删除。
// make it async
private async Task RemoveCompanyFromList(Models.UTP utpResult)
{
await Http.PutAsJsonAsync(
$"api/Users/company/remove/{utpidResult}",
utpidResult);
lstCompanies.Remove(utpidResult); // add this
ItemUpdated.InvokeAsync(lstCompanies);
StateHasChanged();
}
或者,从后备存储(数据库)重新获取列表。
推荐阅读
- html - CSS position:sticky 在一个 div 中堆叠两个元素
- javascript - 对象中的对象中存在键
- javascript - 如何从tail.select获取多个值?
- python - 张量流数据集中标签的暗淡应该是多少?
- reactjs - 组件中的反应函数
- c++ - 为什么浮点值会增加?
- markdown - 为什么这张表会弄乱文档的其余部分?
- ios - 使用具有自动签名的“开发者”帐户上传 iOS 存档会导致配置文件错误
- java - 适用于 Android 的 Azure 通知中心:如何使用后台服务处理数据消息?
- rust - Rust Wasm - The Game Of Life 教程未能编译 webpack-dev-server