62,074
社区成员
发帖
与我相关
我的任务
分享
[OutputCache(Duration = 60, VaryByParam = "*")]
public ActionResult guohuwenda(int id = 1, int index = 1)
{
//传入进来的id 是类型id,index是页面的页码
int s , x;
List<articles> l = GetArticels(out s, out x, index, id);
ViewBag.Previous = s;
ViewBag.Next = x;
ViewBag.CurrentIndex = index;
ViewBag.categroy = id;
return View(l);
}
/// <summary>
///
/// </summary>
/// <param name="s">上一页是否有效</param>
/// <param name="x">下一页是否有效</param>
/// <param name="p">当前的页码,当前第几页</param>
/// <param name="rid">类型id,数据类型</param>
/// <returns></returns>
public List<articles> GetArticels(out int s,out int x,int p = 1,int rid=0)
{
int pageSize = SysConfig.WenDaListPagesize, pageIndex = p-1;
List<articles> list = new List<articles>();
if (rid == 0 || rid == 1)
{
var result = from i in DB.articless
orderby i.CreateTime descending
select i;
int total = result.Count();
s = p == 1 ? 0 : 1;
if ((p * pageSize) >= total) x = 0; else x = 1;
list = result.OrderByDescending(r => r.CreateTime).Skip(pageSize * pageIndex).Take(pageSize).ToList(); ;//.Skip(pageSize * pageIndex).Take(pageSize);
}
else {
var result = from i in DB.articless
where i.classID== rid
orderby i.CreateTime descending
select i;
int total = result.Count();
s = p == 1 ? 0 : 1;
if ((p * pageSize) >= total) x = 0; else x = 1;
list = result.OrderByDescending(r => r.CreateTime).Skip(pageSize * pageIndex).Take(pageSize).ToList(); ;//.Skip(pageSize * pageIndex).Take(pageSize);
}
//list = result.ToList();
return list;
}
private ApplicationDbContext _db;
/// <summary>
/// 共用的数据库对象
/// </summary>
public ApplicationDbContext DB
{
get {
if (_db == null)
{
if (SysCache.GetCache(SysConfig.Sys_dbBaseCache) != null)
{
_db = (ApplicationDbContext)SysCache.GetCache(SysConfig.Sys_dbBaseCache);
}
else
{
_db = new ApplicationDbContext();
SysCache.SetCache(SysConfig.Sys_dbBaseCache, _db);
}
}
return _db;
}
}