iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >.NET MVC Razor怎么用
  • 412
分享到

.NET MVC Razor怎么用

2023-06-17 08:06:33 412人浏览 八月长安
摘要

.net mvc Razor怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。忙碌的工作总是占据了生活的大部分的时间!所以我的博客到现在还是寥寥的几篇文章,技

.net mvc Razor怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

忙碌的工作总是占据了生活的大部分的时间!所以我的博客到现在还是寥寥的几篇文章,技术是用来分享和学习的,对技术有不同的见解,大家都可以分享下,如果如下文章有问题之处请各位指出来,在这个闲下来的时间给大家说说mvc Razor除了在视图上解析外,一样可以这样用。

在有些项目需求上或许需要根据模板生产静态页面,那么你一样可以用Razor语法去直接解析你的页面从而把解析的页面生成静态页,首先介绍下RazorEngine,在nuget上可以直接引用到项目上,这个东西通俗的来讲就是可以在任何地方解析razor语法,个人觉得要比 NVelocity灵活好用很多。在codeplex上有介绍,现在好像搬到GitHub上了,链接Http://razorengine.codeplex.com/,***的版本在github上,大家可以看看,使用上很方便,如下:

string template = "Hello @Model.Name! Welcome to Razor!";    string result = Razor.Parse(template, new { Name = "World" });

就这么简单你就可以不只在视图页面上使用Razor了,它完全支持动态类型,如下:

dynamic ViewBag = new DynamicViewBag();   ViewBag.list = "流年莫逝";  string template = "Hello Word @ViewBag.list";  string result = Razor.Parse(template,null,ViewBag,Guid.NewGuid().ToString());

一样可以解析出来,看源码活着是VS的智能提示你可以看到Razor.Parse后面需要传递的参数类型,只要对号入座就行了,它是支持cache的,当然它的这种cache我个人理解的并不是那种数据缓存的cache,如上面dynamic类型的解析Razor.Parse我是演示用的Guid,但是你可以用其他的string字符,如果你下次预编译模板的时候还是用的这个名字的话就会直接取cache里的模板来做解析,这样减少了解析时间,这是我的个人理解,目前还没有深入的去研究。

RazorEngine还支持自定义模板,如下代码:

//自定义模板   public class MyTemplateBase<T> : TemplateBase<T>   {         public string GetStr()          {                 return "流年莫逝";          }  }   //注册自定义模板   public class CustomTemplate : TemplateService    {          public CustomTemplate()          {              var Service = new RazorEngine.Configuration.TemplateServiceConfiguration();              Service.BaseTemplateType = typeof(MyTemplateBase<>);              var MyTemplate = new TemplateService(Service);              Razor.SetTemplateService(MyTemplate);          }  }

简单介绍下啊,上面那个是自定义的模板,里面你可以按你的需求写相应的方法,这样在解析的时候你一样可以使用你的方法,比方我的是返回的字符串,你用@GetStr()一样可以得到你的返回值,另外你的自定义模板一样要继承TemplateBase<T>,我看了它的源码不知道为什么一样要带上一个泛型,想研究的可以自己看看,注册模板后你就可以使用了,

CustomTemplate service = new CustomTemplate();  return service.Parse(Content, null, ViewBag, Guid.NewGuid().ToString());

按这种方法就可以解析了,Razor.Parse方法是TemplateService类里面的一个虚方法,是支持自己重写的,所以在注册的时候你继承了这个TemplateService类,就是可以实现你想要的了!

看到官网上有很多提问为什么不能用@html.Raw()等这些方法,其实你要是仔细看源码的话是可以支持的,只是换了个写法你可以直接用@Raw()来进行输出,就简单介绍这么多吧,其实RazorEngine还有很多功能的,但是目前以上几种完全够解析页面用了!

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: .NET MVC Razor怎么用

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • .NET MVC Razor怎么用
    .NET MVC Razor怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。忙碌的工作总是占据了生活的大部分的时间!所以我的博客到现在还是寥寥的几篇文章,技...
    99+
    2023-06-17
  • ASP.NET MVC 3中的Razor特性怎么使用
    本篇内容主要讲解“ASP.NET MVC 3中的Razor特性怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET MVC 3中的Razor特性怎么使用”吧!开工 目录...
    99+
    2023-06-17
  • ASP.NET中Razor语法怎么使用
    Razor语法是一种在ASP.NET中用于创建动态网页的模板引擎。它允许开发人员将C#或VB.NET代码与HTML标记混合在一起,以...
    99+
    2023-10-23
    ASP.NET Razor
  • C#中Razor模板引擎怎么使用
    这篇文章主要讲解了“C#中Razor模板引擎怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中Razor模板引擎怎么使用”吧!使用视图引擎可以完成一些需要定制化内容格式的问题,比如...
    99+
    2023-06-29
  • Spring-MVC怎么用
    这篇文章给大家分享的是有关Spring-MVC怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。引言MVC :Model-View-Control框架性质的C 层要完成的主要工作:封装web 请求为一个数据对象...
    99+
    2023-06-17
  • ASP.NET Core中怎么利用 Razor处理Ajax请求
    这篇文章将为大家详细讲解有关ASP.NET Core中怎么利用 Razor处理Ajax请求,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。RazorRazor Pages是ASP.NET Co...
    99+
    2023-06-19
  • ASP .NET MVC中的web.config中的TargetFramework设置是什么意思
    TargetFramework设置指定了当前项目所针对的目标 .NET Framework 版本。在 ASP .NET MVC 中,...
    99+
    2023-09-27
    ASP .NET
  • ASP.NET Core中的Razor页面怎么创建
    这篇文章主要介绍“ASP.NET Core中的Razor页面怎么创建”,在日常操作中,相信很多人在ASP.NET Core中的Razor页面怎么创建问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-29
  • MVC中OutPutCache怎么使用
    在MVC中,可以通过使用OutputCache属性来启用输出缓存。OutputCache属性可以应用于控制器的动作方法或者整个控制器...
    99+
    2023-09-26
    MVC OutPutCache
  • SpringBoot中的mvc怎么用
    这篇文章主要介绍了SpringBoot中的mvc怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC...
    99+
    2023-06-28
  • .Net Core的CustomSerialPort()怎么用
    这篇文章主要介绍“.Net Core的CustomSerialPort()怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“.Net Core的CustomSerialPort...
    99+
    2023-06-26
  • ASP.NET Core MVC路由怎么用
    本篇内容介绍了“ASP.NET Core MVC路由怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! AS...
    99+
    2023-06-30
  • Python中怎么调用.net framework
    今天就跟大家聊聊有关Python中怎么调用.net framework,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 安装python2.5和对应的pywin32 下载ironPyt...
    99+
    2023-06-17
  • windows下net framework怎么启用
    这篇文章主要介绍“windows下net framework怎么启用”,在日常操作中,相信很多人在windows下net framework怎么启用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”windows...
    99+
    2023-07-04
  • .NET中TransactionScope事务怎么用
    在.NET中,使用TransactionScope类可以实现事务的管理。以下是使用TransactionScope事务的基本步骤: ...
    99+
    2023-10-26
    .NET
  • .Net水晶报表怎么用
    小编给大家分享一下.Net水晶报表怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新建一个windows application:CristalTest;新添...
    99+
    2023-06-17
  • .NET Framework 4.0框架怎么用
    这篇文章主要为大家展示了“.NET Framework 4.0框架怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“.NET Framework 4.0框架怎么用”这篇文章吧。在.NET Fr...
    99+
    2023-06-17
  • AgileConfig怎么在.NET中使用
    今天就跟大家聊聊有关 AgileConfig怎么在.NET中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。架构图部署服务端首先,我们需要部署服务端,包含了控制台UI和节点服务,节...
    99+
    2023-06-15
  • .NET Core中怎么使用Autofac
    今天小编给大家分享一下.NET Core中怎么使用Autofac的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Au...
    99+
    2023-06-29
  • 怎么在.net中使用log4net
    小编给大家分享一下怎么在.net中使用log4net,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!创建日志记录步骤第一步,当然是添加log4net.dll的引用啦...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作