返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >在ASP.NET Core Mvc集成MarkDown的方法
  • 158
分享到

在ASP.NET Core Mvc集成MarkDown的方法

netASP.NET方法MVCMarkdowncoreASP 2022-06-07 22:06:43 158人浏览 八月长安
摘要

  这几天在做文章编辑,首先就想到了markdown,它比其它的都要新,而且很好用,相对于其它的html编辑器,好久不更新,要好得多,哦~对了我现在已经用上新版的Edge了,经

  这几天在做文章编辑,首先就想到了markdown,它比其它的都要新,而且很好用,相对于其它的html编辑器,好久不更新,要好得多,哦~对了我现在已经用上新版的Edge了,经过很多朋友测试,性能比谷歌浏览器都要好很多,并且资源消耗也相对来说小。

一.前提

  好吧,言归正传,你首先需要下载MarkDown的相关样式脚本资源,下载完毕之后拖放你的ASP.net core mvc 项目中的wwwroot中。

二.初始化

在页面中我们理所当然需要引用CSS 脚本资源,随后调用它的初始化方法。


<script src="~/js/Jquery-1.10.2.min.js"></script>
<link href="~/Lib/MarkDown/css/editORMd.css" rel="external nofollow" rel="stylesheet" />
<link href="~/Lib/MarkDown/css/editormd.preview.css" rel="external nofollow" rel="stylesheet" />
<script src="~/Lib/MarkDown/js/editormd.js"></script>
<link href="~/lib/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" />

我们的Html部分也很简单,它只需要一个Textarea盒子。


 <div id="test-editormd">
    <textarea id="articleContent" style="display: none;">@Html.Raw(html)</textarea>
  </div>

调用markdown的初始化方法也很简单,我们通常这么做。


$(function () {
    testEditor = editormd("test-editormd", {
      width: "99%",
      height: 640,
      syncScrolling: "single",
      path: "/Lib/MarkDown/lib/",
      saveHTMLToTextarea: true,
      emoji: true
    });
});

到了这里,我就会问?我如何获取我的html呢?这很简单只要通过testEditor.getHTML()方法就可以了,那么你一定就会知道如何获取markdown了getMarkdown(),这两个方法取决你想保存什么,如果你是保存了html,那么你就无需通过asp.net core htmlhelper 的@Html.Raw来进行转义,如果是markdown,您当然需要这么干。

三.优化

有时候我们想要上传咱们自己服务器的图片,经过发现,这个image上传的弹窗就在/lib/MarkDown/plugins/image-dialog中,我们仔细发现就可以进行改造。

好的,这一切都非常简单了,你自己发挥,我们只要保存成功,就很简单了,你可以操作这个js的任何东西,只要不破坏它的btn相关方法。随后,你可以写一个上传图片的api来操作。


public class FileUploadController : Controller
  {
    private IWEBHostEnvironment en;
    public FileUploadController(IWebHostEnvironment en) { this.en = en; }
    public IActionResult Index() { return View(); }
    [HttpPost]
    public async Task<IActionResult> UploadF()
    {
      var files = Request.Form.Files;
      string filename = files[0].FileName;
      string fileExtention = System.IO.Path.GetExtension(files[0].FileName);
      string path = Guid.NewGuid().ToString() + fileExtention;
      string basepath = en.WebRootPath;
      string path_server = "/upfile/" + path;
      using (FileStream fstream = new FileStream(basepath+path_server, FileMode.OpenOrCreate, FileAccess.ReadWrite))
      // using (FileStream fstream = System.IO.File.Create(newFile)) //两种都可以使用
      {
        await files[0].CopyToAsync(fstream);
      }
      return Ok(new { code = 200, msg = "上传成功!" ,filepath = path_server});
    }
  }

在我的项目中,我一般喜欢截取文章中的第一个图片作为的banner部分,ok这一切只需要一个helper。


public static string[] GetHtmlImageUrlList(string sHtmlText)
    {
      // 定义正则表达式用来匹配 img 标签  
      Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);
      // 搜索匹配的字符串  
      MatchCollection matches = regImg.Matches(sHtmlText);
      int i = 0;
      string[] sUrlList = new string[matches.Count];
      // 取得匹配项列表  
      foreach (Match match in matches)
        sUrlList[i++] = match.Groups["imgUrl"].Value;
      return sUrlList;
    }

到此这篇关于在ASP.Net Core Mvc集成MarkDown的方法的文章就介绍到这了,更多相关asp.net Core Mvc集成MarkDown内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文章:markdown简介和语法介绍Markdown+Bootstrap图片自适应属性详解Markdown语法备忘玩转markdown 分享几个需要用到的工具Markdown与Bootstrap相结合实现图片自适应属性PyCharm安装Markdown插件的两种方法CommonMark 使用教程:将 Markdown 语法转成 Html在Ruby on Rails中使用Markdown的方法


--结束END--

本文标题: 在ASP.NET Core Mvc集成MarkDown的方法

本文链接: https://lsjlt.com/news/30782.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在ASP.NET Core Mvc集成MarkDown的方法
      这几天在做文章编辑,首先就想到了markdown,它比其它的都要新,而且很好用,相对于其它的html编辑器,好久不更新,要好得多,哦~对了我现在已经用上新版的Edge了,经...
    99+
    2022-06-07
    net ASP.NET 方法 MVC Markdown core ASP
  • ASP.NET Core集成Apollo的方法
    今天小编给大家分享一下ASP.NET Core集成Apollo的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-06-29
  • 如何在Asp.Net Core中集成ABP Dapper
    目录  一 安装包依赖  二 添加DependsOn属性标签  三 Entity to Table Mapping  四 应用  在实际的项目中,除了集成ABP框架的EntityFr...
    99+
    2024-04-02
  • ASP.NET Core MVC路由(Routing)的用法
    目录1.设置路由中间件2.常规路由3.多路由1.回退2.行动歧义3.路由名称4.路由特性5.组合路由6.特性路由的顺序7.路由模板中的标记替换( [controller] , [ac...
    99+
    2024-04-02
  • asp.net core 使用 TestServer 来做集成测试的方法
    Intro 之前我的项目里的集成测试是随机一个端口,每次都真实的启动一个 WebServer,之前也有看到过微软文档上 TestServer 的介绍,当时没仔细看过以为差不多就...
    99+
    2022-06-07
    net ASP.NET 集成测试 方法 core 测试 ASP
  • ASP.NET Core 集成 React SPA应用的步骤
    目录wwwroot\uiReactUIMiddleware运行一下总结AgileConfig的UI使用react重写快完成了。上次搞定了基于jwt的登录模式(AntDesign Pr...
    99+
    2024-04-02
  • asp.net core 集成swagger ui的原理解析
    什么是Swagger? 说swagger 之前,我们先说一下OpenApi 规范。 OpenApi 是一种和语言无关的用于描述RESTAPIs 接口功能的一种规范,对REST...
    99+
    2024-04-02
  • ASP.NET Core MVC中的标签助手(TagHelper)用法
    1.什么是标签助手 Tag Helper 标签助手是服务端代码能够参与在 Razor 文件中创建和呈现HTML元素。例如,内置的 ImageTagHelper 可以将版本号追加到图像...
    99+
    2024-04-02
  • 如何在Asp.Net Core MVC中处理null值的实现
    译文链接:https://www.infoworld.com/article/3434624/how-to-handle-null-values-in-aspnet-core-...
    99+
    2022-06-07
    ASP.NET core null MVC ASP net
  • Asp.net MVC 中Ajax的使用方法
    本篇内容介绍了“Asp.net MVC 中Ajax的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • ASP.NET MVC使用异步Action的方法
    在没有使用异步Action之前,在Action内,比如有如下的写法: public ActionResult Index() { CustomerHelper cHelper...
    99+
    2022-11-13
    ASP.NET MVC 异步Action
  • 在 ASP.NET Core Web API 中处理Patch请求的方法
    今天小编给大家分享的是在 ASP.NET Core Web API 中处理Patch请求的方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收...
    99+
    2023-07-06
  • ASP.NET Core读取Request.Body的正确方法
    目录前言常用读取方式同步读取异步读取重复读取源码探究StreamReader和Stream的关系HttpRequest的BodyAllowSynchronousIO本质来源Enabl...
    99+
    2024-04-02
  • ASP.NET Core设置URLs的五种方法
    目录前言URL格式前提条件方法1 使用环境变量方法2 使用命令行参数方法3 使用配置文件方法4 使用UseUrls方法5 使用Kestrel优先级总结前言 在使用ASP.NET Co...
    99+
    2024-04-02
  • ASP.NET MVC 应用提速的十种方法
    【编者按】本文作者为 DZone 社区的最具价值博主(MVB) Jonathan Danylko,主要介绍为 ASP.NET MVC 应用提速的十种方法。由国内 IT...
    99+
    2024-04-02
  • ASP.NET MVC EF连接数据库的方法
    这篇“ASP.NET MVC EF连接数据库的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • ASP.NET Core项目中调用WebService的方法
    一、前言 现实生产中,有一些比较老的系统对外提供的接口都是WebService形式的,如果是使用.NET Framework创建的项目调用WebService非常方便,网上有很多代码...
    99+
    2024-04-02
  • ASP.NET MVC框架的使用方法是什么
    ASP.NET MVC框架的使用方法如下:1. 创建ASP.NET MVC项目:打开Visual Studio,选择“创建新项目”,...
    99+
    2023-10-10
    ASP.NET MVC
  • ASP.NET Core自动生成小写破折号路由的实现方法
    目录1、如何生成小写的路由可以这样设置2、生成带破折号并且小写的路由可以这样设置3、解决方案3.1对于Asp.NetCore2.2MVC:3.2  对于Asp.N...
    99+
    2024-04-02
  • 实现ASP.NET Core自动生成小写破折号路由的方法
    这篇文章主要讲解了“实现ASP.NET Core自动生成小写破折号路由的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“实现ASP.NET Core自动生成小写破折号路由的方法”吧!默认情...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作