如何在MVC 5视图中缩进字符串
本文关键字:缩进 字符串 视图 MVC | 更新日期: 2023-09-27 18:28:33
我是ASP.net和MVC 5的新手。
我使用asp.net教程创建了一个测试项目。
我正在尝试从基于另一列的表中缩进文本。
所以我有一张看起来像下面的表格
Title, Level.
A 1
B 2
c 2
D 3
E 1
根据我想要在mvc视图中显示的级别,通过在前面添加选项卡,如下所示。
A
B
C
D
E
我得到的都是
A
B
C
D
我不确定如何添加标签。下面是我的代码
@foreach (var item in Model) {
<tr>
<td>
@Html.Label(item.Title)
</td>
</tr>
}
谢谢。
除了ArsenMkrt的出色回答之外,您还可以使用动态填充:
@foreach (var item in Model) {
<tr>
<td style="padding-left: @((item.Index-1)*10)px;">
@Html.Label(item.Title)
</td>
</tr>
}
这将产生类似的东西
<table border=1>
<tr>
<td style="padding-left: 0px;">A</td>
</tr>
<tr>
<td style="padding-left: 20px;">B</td>
</tr>
<tr>
<td style="padding-left: 20px;">C</td>
</tr>
<tr>
<td style="padding-left: 40px;">D</td>
</tr>
<tr>
<td style="padding-left: 0px;">E</td>
</tr>
</table>
创建一个通过递归深入的函数
@helper TreeView(List<Items> items, int level)
{
foreach (var item in items.Where(i=>i.level == level))
{
<li>
<span>@item.Title</span>
<ul>
@TreeView(items, level+1)
</ul>
</li>
}
}
在视图上添加
<ul>
@TreeView(Model, 1)
</ul>
并将列表样式设置为none以删除项目符号
ul
{
list-style-type: none;
}