栏目列表
# 栏目信息数据
网站栏目的数据及其调用方式和代码组成;具体可参考后台属性说明
字段属性可参考 [栏目表结构](doc:NmsywW5o)
## 数据脚本
```cs
ViewBag.ColumnInfo //原始数据集合
(List<ColumnInfo>)ViewBag.ColumnInfo //List结构的数据集合;需要使用foreach循环;具体可参考示例代码
```
#### 单级栏目显示
```cs
//默认排序
@foreach (var item in ((List<ColumnInfo>)ViewBag.ColumnInfo).Where(x => x.ShowInTop == 1))
{
@item.ColumnName
@Url.Action("List", "Content" , new { Id=item.Id })
...
}
//OrderByDescending:通过给定字段进行降序排序(字段必须是int类型或者是datetime类型)
@foreach (var item in ((List<ColumnInfo>)ViewBag.ColumnInfo).Where(x => x.ShowInTop == 1).OrderByDescending(x => x.Id))
{
...
}
//OrderBy:通过给定字段进行升序排序(字段必须是int类型或者是datetime类型)
@foreach (var item in ((List<ColumnInfo>)ViewBag.ColumnInfo).Where(x => x.ShowInTop == 1).OrderBy(x => x.Id))
{
...
}
```
> `OrderByDescending` 通过给定字段进行降序排序(字段必须是int类型或者是datetime类型)
`OrderBy` 通过给定字段进行升序排序(字段必须是int类型或者是datetime类型)
#### 二级栏目显示
```cs
//默认排序
@foreach (var item in ((List<ColumnInfo>)ViewBag.ColumnInfo).Where(x => x.ShowInTop == 1))
{
//先判断子栏目数量;如果大于0则显示
@if (item.ChildNum > 0)
{
//子栏目就是读取上级栏目的id和子栏目的父id的所有数据
@foreach (var k in ((List<ColumnInfo>)ViewBag.ColumnInfo).Where(x => x.ShowInCir == 1 && x.ParentId == item.Id))
{
...
}
}
}
```
## 演示代码
`@using Yideas.Model;`所有模版必须包含此函数 具体可参考[模版文件介绍](doc:yjXnlr3x)
```cs
@using Yideas.Model;
<!DOCTYPE html>
<html>
<head>
<title>@Html.Config("WebSiteTitle")</title>
<meta name="keywords" content="@Html.Config("WebKeyWords")" />
<meta name="description" content="@Html.Config("WebDescript")" />
</head>
<body>
<ul class="menu">
<li class="item"><a class="link" href="/">首页</a></li>
@foreach (var item in ((List<ColumnInfo>)ViewBag.ColumnInfo).Where(x => x.ShowInTop == 1))
{
<li class="item">
<a class="link" href="@Url.Action("List", "Content", new { Id = item.Id })">@item.ColumnName</a>
</li>
}
</ul>
</body>
</html>
```
模板制作人员可以在上面代码基础上完善