『贴代码』
项目介绍
项目精选
优选问答
【本期话题】更多
三人寄语更多
由于时间的问题,我们往往会给自己埋坑,等着后续或者下一任来填!
点赞:0
对于答案来说,更重要的是找到答案的这个过程而不是答案本身!
点赞:0
你连F12都不关注,你好意思说你是前端?
点赞:0
一些奇奇怪怪的问题,一般和异步有关!
点赞:0
没有最好的语言,只有更合适的语言!
点赞:0
时间与空间总是在换来换去,鱼和熊掌往往不可同得!
点赞:0
抛开需求谈架构是无意义的事情!
点赞:0
逻辑注解清晰的代码优于那些一眼看不明白的语法糖
点赞:0
微信的app这个东西很鬼,有时候你刷新页面,会造成部分数据重置,部分不重置,不妨试试把对象放app.globalData里面去,会有意外惊喜!
点赞:0
能通过内网IP访问的,尽量不要使用域名访问!
点赞:1
贴代码框架PasteForm特性介绍之markdown和richtext
尘埃 2024-11-17 2359 134 0
Richtext和Markdown在我们实际的管理端中还是有使用场景的,那么在PasteForm中,如何让UI渲染成Richtext或者Markdown呢? 又支持怎么样的扩展设置,看这篇文章就够了!

更多特性PasteForm的介绍,请前往PasteForm操作文档查看 PasteForm操作文档与介绍


简介

PasteForm是贴代码推出的 “新一代CRUD” ,基于ABPvNext,目的是通过对Dto的特性的标注,从而实现管理端的统一UI,借助于配套的PasteBuilder代码生成器,你可以快速的为自己的项目构建后台管理端!目前管理端只有Html+js版本的,后续将支持小程序,Vue等


——— 点我访问PasteForm框架文档 ———

案例源码

案例源码在

https://gitee.com/pastecode/paste-template

不定期升级

AllInDto!

通过引入PasteForm,一个项目哪怕100个数据表,一般的管理页面也才不到10个,除非有非常多的特殊功能,否则都能用PasteForm中的表格和表单来实现!

图片alt

MarkDown

在开发管理端过程中,有时候也需要使用用到Markdown,之前已经接入了Richtext,本次升级也一并把这个带进去了!
首先你需要从案例项目的PasteTemplate的前端模块
PasteTemplate.HttpApi.Host/wwwroot/page/lib/editor.md/
注意这个里面就是Markdown用到的组件,用的是三方的!

特性信息

如果是字符串,没有设置maxlength,默认就会变更成richtext,也可以手动强制配置,当前特性适用于richtext和markdown

字段 类型 示例 说明
args1 字符 500 配置高度,默认为500
args2 字符 txt 表示另外一个值存储在哪个字段,所以另外一个字段一般设置隐藏
args3 字符 /api/app/Upload/Image 图片上传的地址

以上信息同样适用于richtext

案例UI

图片alt

以上是我用双屏截图的,其实是一个完整的页面,注意看页面的表单中包含了text,textarea,richtext,markdown
那么他对应的dto是如何写的?

Dto对应代码

    /// <summary>
    /// 
    /// </summary>
    public class StringDto
    {
        ///<summary>
        ///姓名 模拟短文本输入
        ///</summary>
        [MaxLength(32)]
        [Required]
        public string Name { get; set; }

        ///<summary>
        ///文本区域 模拟文本区域的输入
        ///</summary>
        [MaxLength(128)]
        public string Desc { get; set; }

        ///<summary>
        ///文本区域 长度大于128则自动为textarea
        ///</summary>
        [MaxLength(256)]
        public string Text { get; set; }

        /////<summary>
        /////文本区域 可以手动指定为textarea,同理你也可以指定为html,text
        /////</summary>
        //[MaxLength(128)]
        //[ColumnDataType("textarea")]
        //public string Mark { get; set; }

        ///<summary>
        ///富文本 模拟富文本,前端HTML的是使用wangEditv5,默认不配置maxlength的就是html
        ///</summary>
        public string Blog { get; set; }

        /////<summary>
        /////MarkDown1 
        /////</summary>
        //[ColumnDataType("markdown")]
        //public string Mark1 { get; set; }

        ///<summary>
        ///MarkDown2 有默认值的
        ///</summary>
        [ColumnDataType("markdown")]
        public string Mark2 { get; set; } = "## 今日成果";

    }

由上面代码可知,只要在对应的字段上配置
[ColumnDataType(“markdown”)]即可
或者你也可以配置特性为[PasteMarkDown]
他们两个是等效的,可以说ColumnDataTypeAttribute是所有贴代码框架特性的基础属性
像PasteClass,PasteHidden,PasteButton等最终都是为了转化成ColumnDataTypeAttribute

提交信息

上面的UI中,我们是随便填写点东西后,提交,看到的提交信息如下
图片alt
暂时先忽略mark2mdeditor-html-code和mark2mdeditor-markdown-doc字段,这个是markdown框架里面带了name被parseform来了,后续再考虑去掉他!
从上面的提交可以看到mark2是有内容的!

符合预期!

注意

由于markdown和richtext的特殊性,关于字段长度的设置需要按照实际来填写!
看特性信息args2,这个字段如何配置了,则需要对这个字段的特性标注为hidden
这样在UI上args2的字段是不显示的,而提交数据给后台,则可以接收到!

我们下期将介绍select和reload的巧妙结合案例… .. .

评论列表
尘埃
134 2359 0
快捷注册
热门推荐更多
PasteTalk
是在线客服系统更是在线营销系统,引入特有的页面话序机制,能够针对不同访客实现丰富的营销话语,提高开发效率!引入分词功能提升关键字命中概率,提高服务质量!;
最新动态
  • 19.****.3 正在查看 开发者部署工具PasteSpiderV5新版本更新内容 !
  • 221.****.142 正在查看 别在无脑的统一封装返回了,会暴露你的实力的,不信一起来看看 !
  • 221.****.142 正在查看 别在无脑的统一封装返回了,会暴露你的实力的,不信一起来看看 !
  • 25.****.80 正在查看 PasteSpider内各种宏的规则和定义说明 !
  • 25.****.80 正在查看 PasteSpider内各种宏的规则和定义说明 !
  • 163.****.191 正在查看 论我是如何改造ABP官方的审计日志Auditing系统的! !
  • 163.****.191 正在查看 论我是如何改造ABP官方的审计日志Auditing系统的! !
  • 133.****.165 正在查看 【PasteForm】最佳CRUD的实现案例项目PasteTemplate解析,包含源码(二) !
  • 133.****.165 正在查看 【PasteForm】最佳CRUD的实现案例项目PasteTemplate解析,包含源码(二) !
  • 103.****.33 正在查看 框架PasteForm实际开发案例,支持多级对象的表单看看有多简单只要几个特性即可!(1) !
  • 103.****.33 正在查看 框架PasteForm实际开发案例,支持多级对象的表单看看有多简单只要几个特性即可!(1) !
欢迎加入QQ讨论群 296245685 [PasteSpider]介绍 [PasteForm]介绍 @2022-2023 PasteCode.cn 版权所有 ICP证 闽ICP备2021013869号-2