Don*_*Don 2 c# foreach increment blazor
我有一个 MySQL 数据库,我从中创建一个列表,然后使用 @foreach 在表中显示。目前,我的表中有一个“0”作为占位符,但我需要第一个为 1,然后为 2,依此类推。我不想使用现有的键,因为我过滤了列表 (selectedUser) 并希望列表始终显示条目数,而不是如何在数据库中引用它。
@foreach (var u in Users.Where(d => d.User == selectedUser))
{
<tr>
<td title="">0</td>
<td>@u.User</td>
<td>@u.UserLevel</td>
<td>(you get the idea)</td>
</tr>
}
Run Code Online (Sandbox Code Playgroud)
我的@code 块的相关部分:
List<DBTestModel> Users;
protected override async Task OnInitializedAsync()
{
string sql = "select * from MyTable";
Users = await _data.LoadData<DBTestModel, dynamic>(sql, new { }, _config.GetConnectionString("default"));
}
Run Code Online (Sandbox Code Playgroud)
我对此还很陌生(这是我第一次涉足非常简单的 UI 之外的开发),所以请原谅一个确实被问到的问题;我做了很多谷歌搜索并找到了很多答案,但我无法直接将任何答案应用于这种情况(我认为因为人们只是包含了他们损坏的部分,我需要看到整个部分才能理解它)。我相信我需要的部分是:
var i = 0;
Run Code Online (Sandbox Code Playgroud)
和
i++;
Run Code Online (Sandbox Code Playgroud)
但我似乎没有把它们放在正确的地方。
就像是:
@{ var x = 1; }
@foreach (var u in Users.Where(d => d.User == selectedUser))
{
<tr>
<td title="">@x</td>
<td>@u.User</td>
<td>@u.UserLevel</td>
<td>(you get the idea)</td>
</tr>
x++;
}
Run Code Online (Sandbox Code Playgroud)
我的实际测试代码如下所示:
@page "/Test"
@{ var x = 1;}
@foreach (var c in Cities)
{
<div> @x - @c</div>
x++;
}
@code {
private List<string> Cities => new List<string>() { "Adijan", "Lagos", "Tripoli" };
}
Run Code Online (Sandbox Code Playgroud)
我刚刚将问题代码转入。