信息表数据列表调用语法

列表调用语法

Html.InfoDataList(参数1,参数2,参数3,参数4)

参数说明:

参数说明
类型
说明是否可为null
参数1
object
预定义条件对象参数,包含固定属性
参数2string
sql自定义条件

参数3
object
sql参数值

参数4
PageInfo
分页对象,如需要分页,必须设置此参数

:第一个参数对象中必须定义Table或ColumnId属性。

参数1常用属性

属性
类型
说明
Table
string
要读取的信息表名
OrderBy
string
数据排序方式,默认Id desc排序
ColumnIdint
要读取的栏目Id,Table和ColumnId必须设置一项
ColumnIdsstring
读取多个栏目id的数据,多个id用半角逗号隔开
TagId
int
标签Id
ShowNumberint
默认为15,分页读取时此参数无效
Fieldsstring
要读取的字段,不设置则由系统根据后台设置自动读取
HasThumbnailint
可选择0和1,表示信息是否包含缩略图
Uidint用户id
IsHot
byte
信息热门级别
IsGood
byte信息推荐级别
IsTopbyte
信息置顶级别


实例1:读取product信息表的前10条数据

<div class="news-list">
    @foreach (var item in Html.InfoDataList(new{Table="product",ShowNumber=10}))
    {
        string url = Html.InfoDataUrl((int)item.ColumnId, (int)item.Id); //获取当前信息的url地址,系统预设
        string title = item.Title; //读取标题字段,注意字段第一个字符要大写,也可以直接在html中写@(item.Title)
        <div class="item clearfix">
            <div class="title"><a href="@url" target="_blank"><i class="fa fa-angle-right"></i>@(title)</a></div>
            <div class="date">@item.Thedate.ToString("MM-dd")</div>
        </div>
    }
</div>

实例2:用分页方式读取news信息表的数据,每页显示10条数据。

@{
    PageInfo pageInfo = new PageInfo()
    {
        PageSize = 10,
        CurrentPage = (int)ViewBag.CurrentPage //获取当前页面页码,系统预设
    };
    int columnId = Html.CurrentColumnId(); //获取当前栏目id,系统预设
}
<div class="news-list">
    @foreach (var item in Html.InfoDataList(new { ColumnId = columnId, OrderBy = "thedate desc" }, null, null, pageInfo))
    {
        string url = Html.InfoDataUrl((int)item.ColumnId, (int)item.Id);
        <div class="item">
            <div class="title"><a href="@url" target="_blank"><i class="fa fa-angle-right"></i>@item.Title</a></div>
            <div class="date">@item.Thedate.ToString("yyyy-MM-dd")</div>
        </div>
    }
</div>

实例3:搜索新闻表中标题包含"中国"的并且包含缩略图的分页数据,每页显示10条数据。

<div class="image-list">
    @{
        PageInfo pageInfo = new PageInfo()
        {
            PageSize = 10,
            CurrentPage = (int)ViewBag.CurrentPage
        };
        foreach (var item in Html.InfoDataList(new { Table = "news", HasThumbnail = 1, OrderBy = "thedate desc" }, "title like @keyword", new { keyword = "%中国%" }, pageInfo))
        {
            string url = Html.InfoDataUrl((int)item.ColumnId, (int)item.Id);
            <div class="item">
                <div class="img"> <img src="@(item.Thumbnail)" /></div>
            </div>
        }
    }
</div>