基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(八)

转载于:https://github.com/Meowv/Blog

上一篇完成了标签模块和友情链接模块的所有功能,本篇来继续完成博客最后的模块,文章的管理。

文章列表&删除

图片

先将分页查询的列表给整出来,这块和首页的分页列表是类似的,就是多了个Id字段。

添加两条路由规则。

@page “/admin/posts”
@page “/admin/posts/{page:int}”
新建返回数据默认QueryPostForAdminDto.cs。

//QueryPostForAdminDto.cs
using System.Collections.Generic;

namespace Meowv.Blog.BlazorApp.Response.Blog
{
public class QueryPostForAdminDto
{
///
/// 年份
///
public int Year { get; set; }

    /// <summary>/// Posts/// </summary>public IEnumerable<PostBriefForAdminDto> Posts { get; set; }
}

}

//PostBriefForAdminDto.cs
namespace Meowv.Blog.BlazorApp.Response.Blog
{
public class PostBriefForAdminDto : PostBriefDto
{
///
/// 主键
///
public int Id { get; set; }
}
}
然后添加所需的参数:当前页码、限制条数、总页码、文章列表返回数据模型。

///
/// 当前页码
///
[Parameter]
public int? page { get; set; }

///
/// 限制条数
///
private int Limit = 15;

///
/// 总页码
///
private int TotalPage;

///
/// 文章列表数据
///
private ServiceResult<PagedList> posts;
然后在初始化函数OnInitializedAsync()中调用API获取文章数据.

///
/// 初始化
///
protected override async Task OnInitializedAsync()
{
var token = await Common.GetStorageAsync(“token”);
Http.DefaultRequestHeaders.Add(“Authorization”, $“Bearer {token}”);

// 设置默认值
page = page.HasValue ? page : 1;await RenderPage(page);

}

///
/// 点击页码重新渲染数据
///
///
///
private async Task RenderPage(int? page)
{
// 获取数据
posts = await Http.GetFromJsonAsync<ServiceResult<PagedList>>($"/blog/admin/posts?page={page}&limit={Limit}");

// 计算总页码
TotalPage = (int)Math.Ceiling((posts.Result.Total / (double)Limit));

}
在初始化中判断page参数,如果没有值给他设置一个默认值1。RenderPage(int? page)方法是调用API返回数据,并计算出总页码值。

最后在页面上进行数据绑定。

@if (posts == null) { } else {

基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(八)相关推荐

  1. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(九)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(九) 转载于:https://github.com/Meowv/Blog 终于要接近尾声了,上一篇基本上将文 ...

  2. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(七)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(七) 转载于:https://github.com/Meowv/Blog 上一篇完成了后台分类模块的所有功能 ...

  3. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(六)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(六) 转载于:https://github.com/Meowv/Blog 上一篇完成了博客文章详情页面的数据 ...

  4. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(五)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(五) 转载于:https://github.com/Meowv/Blog 上一篇完成了分类标签友链的列表查询 ...

  5. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(四)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(四) 转载于:https://github.com/Meowv/Blog 上一篇完成了博客的分页查询文章列表 ...

  6. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(三)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(三) 转载于:https://github.com/Meowv/Blog 上一篇完成了博客的主题切换,菜单和 ...

  7. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(二)

    基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(二) 转载于:https://github.com/Meowv/Blog 上一篇搭建了 Blazor 项目并 ...

  8. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(一)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  9. 基于dreamweaver软件设计和开发一网站_基于 abp vNext 和 .NET Core 开发博客项目 Blazor 实战系列(一)...

    系列文章 使用 abp cli 搭建项目 给项目瘦身,让它跑起来 完善与美化,Swagger登场 数据访问和代码优先 自定义仓储之增删改查 统一规范API,包装返回模型 再说Swagger,分组.描述 ...

最新文章

  1. Transform-style和Perspective属性
  2. 通过oracle任务计划定期备份数据库
  3. Makefile中的wilcard函数
  4. spring源代码系列(一)sring源代码编译 spring源代码下载 spring源代码阅读
  5. 总结(5)--- Numpy和Pandas库常用函数
  6. 电路调试之_稳压管,三端稳压的反向二极管,三级管的基极耐压
  7. DTCC大会归来感想
  8. SEM竞价推广创意快速撰写的方法,智能创意制作
  9. 艾孜尔江在腾讯网上的影视作品
  10. Python计算商品复购率
  11. pip失败——sys.stderr.write(f“ERROR: {exc}“) SyntaxError: invalid syntax
  12. 微信小程序用定时器实现倒计时效果
  13. python3计算行列式的值(运用拉普拉斯展开法递归实现)
  14. win 10 下matlab 7 运行不了,弹出警告,完美解决方案
  15. isdisposed java_Java Shell.isDisposed方法代碼示例
  16. Android adb.exe程序启动不起来 具体解决方法
  17. R代码学习(1)——算术运算、关系运算、逻辑运算
  18. [茶香人家:原创资料]武夷岩茶冲泡实战篇
  19. android app数据存储,基于Android开发的APP数据存储研究
  20. Amber中对体系的距离角度和二面角加以限制

热门文章

  1. 那些年做的学术公益-你不是一个人在战斗
  2. 读不完的顶会Paper,我该如何读论文?
  3. 震惊!这些喵星人竟然被集体包养!
  4. 互联网1分钟 |1029
  5. 如何快速实现移动端短视频功能?
  6. 百度地图-矩形编辑的模拟实现
  7. 判断数组中某个元素的个数
  8. 《Ext JS权威指南》——2.1节获取Ext JS 4
  9. 解决Button在IE6、7下的自适应宽度问题
  10. MapReduce:Simplified Data Processing on Large Clusters中文版from百度文库