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) 编辑
 
标签: MVC, Razor

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. c#基于这些,你已经看到了?(一)-----谁才刚刚开始学习使用

    1.注视(不要写的目光是流氓,从废话名盲人) '///'一般用于目光功能.凝视类. 2.热键 ctrl+k+d(有语法错误无法进行对齐) ctrl+j(高速弹出仅仅能提示) shift+end,shi ...

  2. Centos根据系统VPS安装SendMail组件使WordPress支持E-mail

    1.在putty在链接: yum install sendmail 2.启动SendMail: service sendmail start 3.检查SendMail是否在监听默认的25port: n ...

  3. Spring 通过来AOP 实现前置,环绕,异常通知,注解(转)

    本节主要内容:     1. Spring AOP前置通知案例     2. Spring AOP环绕通知案例     3. Spring AOP异常通知案例     4. Spring AOP注解使 ...

  4. IOS 在功能 autorelease release

    在一个reurn 返回值该函数里 假设,再申请为期内存(alloc 要么copy) 这次不行release  您只能使用autorelease 返回到接收在该指针后,它是由被释放!! 假设self.o ...

  5. C#值传递和按引用传递

    知识点: 值类型和引用类型  为值类型,,据        对于引用类型来说,栈中存储的是堆中对象的地址 值传递和引用传递 对于值传递,传递的是栈中保存的数据        对于引用传递.传递的是栈本 ...

  6. Java并发专题 带返回结果的批量任务执行 CompletionService ExecutorService.invokeAll(转)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27250059 一般情况下,我们使用Runnable作为基本的任务表示形式,但是R ...

  7. 图widget--jqplot样品和参数描述的简单演示

    最简单的线图 第一步:引入必要的CSS.JS文件 <link rel="stylesheet" type="text/css" href="js ...

  8. C# 合并DLL, 合并DLL进入EXE

    原文:C# 合并DLL, 合并DLL进入EXE 使用方法非常简单 在项目属性窗口中,选择"生成事件",在"生成后事件命令行"下的文本框中输入 ilmerge / ...

  9. WordPress添加评论回复的电子邮件警报通知

    评论回复帖子,主动发送电子邮件通知评论员,这是提高的一大举措的用户体验.倡导孟一直在使用Willin Kan主评论回复电子邮件警报通知码,我相信很多人也使用,假设你没有使用.最好的尝试. 根据自己的需 ...

  10. Android重力加速度传感器数据去噪

    public void onSensorChanged(SensorEvent event) { final float alpha = 0.8; gravity[0] = alpha * gravi ...