Razor 在WebApp 框架的运用

 

前面有两章介绍了WebApp框架《WebApp MVC,“不一样”的轻量级互联网应用程序开发框架》和《WebApp MVC 框架的开发细节归纳》,其中视图引擎是用的Nvelocity,最近发现Razor不错,语法比较像C#,而且在VS IDE中有提示比较方便,更不错的是在CodePlex上已有人把Razor从aspx mvc中剥离出来独立的开源项目RazorEngine,立马就研究了一下并加入到框架中。

RazorEngine开源网址:http://razorengine.codeplex.com/

下面我们看看在Webapp 框架中使用Razor视图引擎的实例:

1.简单实例,hello worlod

2.Razor方法实例

使用关键字@helper 来创建方法aa,输出字符串hello 这里跟MVC中的Razor语法有点不一样,要想不报错得用@()把输入内容包括起来,这地方开始不知道老报错,最后调式源码才发现必须这样书写。

3.判断实例

4.循环实例

5.方法ToUrl和LoadJs

6.包含外部文件

7.后台TestController的代码

 [AOP(typeof(HeadComponent), typeof(FooterComponent))]
public void Razortest01()
{
List<string> data = new List<string>();
data.Add("选项1");
data.Add("选项2");
data.Add("选项3");
ViewData.Add("data", data); ViewData.Add("name", "kakake");
ViewResult = ToView(@"Views\Test\test01.cshtml");
}
public class HeadComponent : AbstractRazorComponent
{
public override string GetFilePath()
{
return "Views/Test/head.cshtml";
} public override void LoadViewData()
{
ViewData.Add("head", "这是页头!");
}
}
 public class FooterComponent : AbstractRazorComponent
{
public override string GetFilePath()
{
return "Views/Test/footer.cshtml";
} public override void LoadViewData()
{
ViewData.Add("footer", "这是页脚!");
}
}

界面效果:

总结:使用Razor确实让我们的代码看起来更加舒服,但是Razor在性能方面可能有点缺失。另外就是如果修改了cshtml文件需要退出服务重新编译项目运行,不然执行可能会出错

随笔分类 - AppFrameWork框架

互联网应用开发框架
摘要: 前面有两章介绍了WebApp框架《WebAppMVC,“不一样”的轻量级互联网应用程序开发框架》和《WebAppMVC框架的开发细节归纳》,其中视图引擎是用的Nvelocity,最近发现Razor不错,语法比较像C#,而且在VSIDE中有提示比较方便,更不错的是在CodePlex上已有人把Ra...阅读全文
posted @ 2014-12-16 21:52 kakake 阅读(145) | 评论 (0) 编辑
 
摘要: RazorEngine官網網址:http://razorengine.codeplex.com在找到RazorEngine之前曾經想過其他的方案,如T4與V8 Engine載jquery.template,但T4如果要獨立於MSBuild或Visual Studio執行有點麻煩,而V8 Engine...阅读全文
posted @ 2014-12-09 17:46 kakake 阅读(48) | 评论 (1) 编辑
 
摘要: 主要觉得往kindle里加书籍太麻烦了,要下载下来,还要通过邮件发送,特别一些网页文字版的书籍没办法放到kindle里,所以想着还不如自己动手丰衣足食,写一个程序直接抓取网页内容,制作成书籍,然后自动发送到kindle里。程序首先操作简单“一键推送”,还有就是书籍要带目录。先做了个winfor...阅读全文
posted @ 2014-12-08 20:46 kakake 阅读(2076) | 评论 (17) 编辑
 
摘要: /// /// 多线程执行 /// public class MultiThreadingWorker { /// /// 确保线程全部完成 /// private Done m_done = null;...阅读全文
posted @ 2014-12-08 18:31 kakake 阅读(350) | 评论 (0) 编辑
 
摘要: 在前文《WebAppMVC,“不一样”的轻量级互联网应用程序开发框架》介绍了WebAppMVC的技术实现以及如何使用,而在本章进一步归纳了使用框架开发的一些细节,也给我们在开发具体功能的时候提供一个正确的方法;共归纳了三点,具体内容如下:1.URL请求页面1)使用Nvelocity显示页面2)...阅读全文
posted @ 2014-12-06 19:09 kakake 阅读(668) | 评论 (1) 编辑
 
摘要: WebAppMVC这是一个专门开发互联网程序的开发框架,跟之前的《EFW框架》使用情况不一样,EFW主要用于开发行业软件的快速开发;而WebApp又区别与别的MVC框架,比如AspNetMVC,更轻量级,使用也更简单;WebApp技术特点:Nvelocity(模板引擎)+UrlRewrite...阅读全文
posted @ 2014-11-23 23:08 kakake 阅读(1290) | 评论 (10) 编辑
 
标签: MVCRazor

WebApp 框架的更多相关文章

  1. Razor 在WebApp 框架的运用

    前面有两章介绍了WebApp框架<WebApp MVC,“不一样”的轻量级互联网应用程序开发框架>和<WebApp MVC 框架的开发细节归纳>,其中视图引擎是用的Nveloc ...

  2. webapp框架集合

    1.GoAngualrjs homepage  github GoAngular 可让你轻松使用 AngularJS 和 GoInstant 构建实时.多用户的应用程序. 2.JingleV home ...

  3. 转战WebApp: 最适合Android开发者的WebApp框架

    随着移动端设备越来越多, 微信应用号即将发布, 越来越多的页面需要被移动浏览器承载, HTML5开发大热, 我们需要掌握Web开发的技能来适应时代变化. 合适的WebApp框架 AndroidUI4W ...

  4. ipad&mobile通用webapp框架前哨战

    响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担: ...

  5. HTML5 webapp框架

    1.Sencha Touch 注:jQTouch主要用于手机上的web Kit浏览器上实现一些包括动画.列表导航.默认应用样式等各种常见UI效果的 JavaScript 库.支持包括 iPhone.A ...

  6. 关于给予webApp框架的开发工具

    webApp 1.phonegap webApp即基于html+css+javascript,对于新手会联想好多及疑问(如数据的添删查修如何实现,参数传递如何实现) 添加查修使用jsonp跨域实现的 ...

  7. WebApp框架

    我所知道的webapp开发框架,欢迎补充, Framework7包含ios和material两种主题风格并且有vue版和react版, vue发现一个vue-material, react有一款mat ...

  8. 基于Vue2 搭建移动端 webapp 框架

    Vue.js2.0作为国内热门并广为人知的前端框架,其与其他主流框架的优势在此不做过多赘述.搭建框架步骤如下: 转自:http://www.jianshu.com/p/beae26e57b0f 安装N ...

  9. 轻量级的移动 webapp 框架Jingle

    一大早爬起来,发现这样的一个东东,国产,感觉实用性很强,试着用用. 1.28补记: 试着用jingle做了一个网站的移动版,感觉如果在布局上要求不高的话 - 目前支持的布局只有list,还是挺不错,做 ...

随机推荐

  1. Mina框架与Spring整合配置文件

    Mina框架与Spring的整合事实上非常easy,主要是要弄清楚要注入的属性的名称,进而选择合适的注入方法. 关于Spring的四种注入方法请还有一篇文章:spring依赖注入的四种方式 <? ...

  2. Spark大师之路:广播变量(Broadcast)源代码分析

    概述 近期工作上忙死了--广播变量这一块事实上早就看过了,一直没有贴出来. 本文基于Spark 1.0源代码分析,主要探讨广播变量的初始化.创建.读取以及清除. 类关系 BroadcastManage ...

  3. 走向DBA[MSSQL篇] 针对大表 设计高效的存储过程【原理篇】 附最差性能sql语句进化过程客串

    原文:走向DBA[MSSQL篇] 针对大表 设计高效的存储过程[原理篇] 附最差性能sql语句进化过程客串 测试的结果在此处 本篇详解一下原理 设计背景 由于历史原因,线上库环境数据量及其庞大,很多千 ...

  4. java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例

    使用java它们的定义jar套餐读excel数据支持excel2007和excel2003 在http://download.csdn.net/detail/u010792467/8079355下载所 ...

  5. 【Testin实验室】MoiMark安卓中国终端体验性能排行榜(11月报)

    [Testin实验室]MoiMark安卓中国终端体验性能排行榜(11月报) 2014/11/20 · Testin · 实验室报告 11月报要点: 新增机型Note4强势夺得第一.三星Note4以多个 ...

  6. 工厂模式IDAL具体解释

    IDAL 一. IDAL主要功能: 1.这全然是"工厂模式"的一部分实现而已 2.这是一组接口类,当中包含了每一个要公开的数据訪问方法.为每一个数据库产品单独编写的DAL(数据訪问 ...

  7. MySQL分页实现

    mysql> select pname from product; +--------+ | pname  | +--------+ | 产品1  | | 产品2  | | 产品三 | +--- ...

  8. java.lang.reflect操作对象属性(域)的值

    package reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.l ...

  9. TortoiseGit push失败原因小结(转)

    花了我一个晚上,终于弄明白为什么总是 push 失败的原因了!竟然是因为我用的是注册的用户名而不是邮箱名……囧死. 另外搞清楚了一个问题,就是 Git 和远程仓库交互有两种方式,即 https 方式和 ...

  10. html + CSS

    Html 1 html基本标签 1.1 html文件结构 <!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN&qu ...