c# - 如何从停止的位置继续对列表进行编号?
问题描述
我正在从某些 API 中读取内容,内容可能以“段落”或“有序列表”的形式出现。
每次读取新记录时,我的列表顺序总是重新开始编号。示例 1.TEST 1.TEST
我的目标是显示内容如下 1.TEST 2.TEST 即使在阅读了不同的内容之后
@foreach (var x in item.copy)
{
if (x.type == "o-list-item")
{
<tr>
<td>
<ol>
<li>
@Html.DisplayFor(modelItem => x.text)
</li>
</ol>
</td>
</tr>
}
else if(x.type== "paragraph")
{
<tr>
<td>
@Html.DisplayFor(modelItem => x.text)
</td>
</tr>
}
}
我理解如果列表序列被打断,那么它是一个新的列表序列,不能是前一个列表的延续。但是,我必须做到,并且
我尝试自己自定义代码,通过连接整数 count=1 并在 for 循环读取“o-list-item”类型的内容时递增,但 DisplayFor razor 视图似乎不允许连接任何自定义变量。
@foreach (var x in item.copy)
{
if (x.type == "o-list-item")
{
int count=1;
<tr>
<td>
<ol>
<li>
count + "."+ @Html.DisplayFor(modelItem => x.text)
count ++;
</li>
</ol>
</td>
</tr>
}
else if(x.type== "paragraph")
{
<tr>
<td>
@Html.DisplayFor(modelItem => x.text)
</td>
</tr>
}
}
请提供任何帮助
解决方案
您可以使用有序列表属性“开始”来指定开始编号。
@{int count = 1;}
@foreach (var x in item.copy)
{
if (x.type == "o-list-item")
{
<tr>
<td>
<ol start="@count++">
<li>
@Html.DisplayFor(modelItem => x.text)
</li>
</ol>
</td>
</tr>
}
else if(x.type== "paragraph")
{
<tr>
<td>
@Html.DisplayFor(modelItem => x.text)
</td>
</tr>
}
}
推荐阅读
- python - 合并返回空白数据
- python - 多类模型中的自定义“二进制”精度
- javascript - 如何在javascript React中找到两个对象数组之间的所有交集?
- sql-server - SQL SERVER 检查约束中的 NOT NULL 子句
- php - 如何将多个具有相同名称的对象传递给 SOAP?
- angular - 如何将验证器添加到角度的所有输入?
- azure - Azure DevOps:如何在变量组中设置变量的值
- wpf - 使用 WPF 在代码中创建线条图案
- vue.js - 为什么我的 v-select 渲染不止一次?
- regex - 是否有“文件夹名MM_DD__YYYY”的正则表达式