• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > Razor TagHelper实现Markdown转HTML的方法

Razor TagHelper实现Markdown转HTML的方法

作者:ZKEASOFT 字体:[增加 减小] 来源:互联网 时间:2018-08-20

ZKEASOFT 通过本文主要向大家介绍了Razor,TagHelper,Markdown转HTML等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

用途

Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。完全采用Markdown编辑器的博客平台有Ghost和Typecho。

用于编写说明文档,并且以“README.MD”的文件名保存在软件的目录下面。

除此之外,现在由于我们有了RStudio这样的神级编辑器,我们还可以快速将Markdown转化为演讲PPT、Word产品文档、LaTex论文甚至是用非常少量的代码完成最小可用原型。在数据科学领域,Markdown已经被确立为科学研究规范,极大地推进了动态可重复性研究的历史进程。

TagHelper

写一个Razor TagHelper来实现Markdown转HTML,这里需要使用到CommonMark. NET这个类库。

namespace ZKEACMS.Message.TagHelps
{
 [HtmlTargetElement("markdown", TagStructure = TagStructure.NormalOrSelfClosing)]
 [HtmlTargetElement(Attributes = "markdown")]
 public class MarkdownTagHelper : TagHelper
 {
  public ModelExpression Content { get; set; }
  public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
  {
   if (output.TagName == "markdown")
   {
    output.TagName = null;
   }
   output.Attributes.RemoveAll("markdown");
   var content = await GetContent(output);
   var markdown = WebUtility.HtmlEncode(WebUtility.HtmlDecode(content));
   var html = CommonMarkConverter.Convert(markdown);
   output.Content.SetHtmlContent(html ?? "");
  }
  private async Task GetContent(TagHelperOutput output)
  {
   if (Content == null)
    return (await output.GetChildContentAsync()).GetContent();
   return Content.Model?.ToString();
  }
 }
}

使用方式

首先要在_ViewImports.cshtml加入这个TagHelper,像这样

@addTagHelper *, ZKEACMS.Message

然后就可以直接使用了

<markdown>@item.CommentContent</markdown>

以上这篇Razor TagHelper实现Markdown转HTML的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET MVC学习教程之Razor语法
  • ASP.NET Core 2.0中Razor页面禁用防伪令牌验证
  • 如何ASP.NET Core Razor中处理Ajax请求
  • Razor TagHelper实现Markdown转HTML的方法
  • ASP.NET Core Razor 页面路由详解
  • Razor模板引擎简单介绍
  • Asp.net MVC中Razor常见的问题与解决方法总结
  • ASP.NET MVC重写RazorViewEngine实现多主题切换
  • asp.net模板引擎Razor调用外部方法用法实例
  • asp.net模板引擎Razor中cacheName的问题分析

相关文章

  • 2017-05-11生成多字段排序分页的SQL的通用类
  • 2017-05-11ASP.NET连接MySql数据库的2个方法及示例
  • 2018-08-20VS2015下简单使用EF框架的方法
  • 2018-08-20visual studio 2015+opencv2.4.13配置教程
  • 2017-05-11C# 根据ip获取城市等相关信息
  • 2017-05-11asp.net Linq把数据导出到Excel的代码
  • 2017-05-11asp.net+js实时奥运金牌榜代码第1/2页
  • 2017-05-11IIS 浏览aspx页面出现无法显示XML页的解决方法分享
  • 2017-05-11asp.net web页面自定义分页控件使用详解
  • 2018-08-20.NET连接数据库以及基本的增删改查操作教程

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net下利用JS实现对后台CS代码的调用方法
    • ASP.NET中 Execl导出的六种方法实例
    • javascript判断是否有对RadioButtonList选项选择
    • 在ASP.NET 2.0中操作数据之六十九:处理Computed Columns列
    • asp.net 读取xml文件里面的内容,绑定到dropdownlist中
    • ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法
    • JQuery运用ajax注册用户实例(后台asp.net)
    • Asp.net自定义控件之单选、多选控件
    • asp.net下中文验证码,免费开源代码
    • ASP.NET MVC4入门教程(三):添加一个视图

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有