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文件需要退出服务重新编译项目运行,不然执行可能会出错

时间: 2024-10-13 05:36:54

Razor 在WebApp 框架的运用的相关文章

webapp框架集合

1.GoAngualrjs homepage  github GoAngular 可让你轻松使用 AngularJS 和 GoInstant 构建实时.多用户的应用程序. 2.JingleV homepage  github Jingle UI是一个基于html5.css3开发轻量级的移动webapp 框架,提供一些基本交互方式,常用的组件(scroll,actionsheet,sidemenu,toggle,push2refresh......),帮助您更方便的开发移动应用. 3.Centur

ipad&amp;mobile通用webapp框架前哨战

响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担:设备系统上来说主要分为android ios:尺寸上看又以手机与pad为一个分界线,如果再加一个H5站点,其开发所投入资源不可谓不小! Hybrid的出现,解决了大部分问题,针对尺寸上的问题有一种东西叫做响应式设计,这个响应式设计似乎可以解决我们的问题,所以今天我就来告诉大家什么是响应式设计,或者说

WebApp框架

我所知道的webapp开发框架,欢迎补充, Framework7包含ios和material两种主题风格并且有vue版和react版, vue发现一个vue-material, react有一款material-ui官方组件比较齐全, 基于jquery的jqweui, 用react写的amaze-ui-touch,

5大最流行手机webAPP框架之Ionic

Ionic 框架 Ionic框架我们前五个web app框架中最年轻的,阿尔法版本是在2013年11月下旬发布的.Ionic是建立在google的AngularJS框架上的,Ionic利用AngularJS来提供应用结构,而它本身更关注的是用户界面.换句话说,我们将会看到强大的Angular和每秒Ionic的一个完美的组合. Ionic(自定义HTML元素)为它的组件提供了一组Angular指令,使其很容易使用小部件,简单的就像写一行HTML代码一样.除了指令,Ionic使用Angular的触摸

轻量级的移动 webapp 框架Jingle

一大早爬起来,发现这样的一个东东,国产,感觉实用性很强,试着用用. 1.28补记: 试着用jingle做了一个网站的移动版,感觉如果在布局上要求不高的话 - 目前支持的布局只有list,还是挺不错,做东西很快. 忽然想到这可能也是一种心法,少即是多.当我心中设想着很多复杂效果时,发现没有可用的工具:但一旦我确定就要用它时,至少可以保证先把做出一版东西来. 另,web app的性能确实影响用户体验,延时很严重. 在使用过程中,发现jingle确实还不够完善,一个他不能方便的加载自定义的页面,这对改

webapp框架&mdash;学习AngularUI2(demo改造)

目的:把AngularUI的模板应用到"桂电在线"上 步骤如下: 按功能表修改demo界面 学习angularUI如何加载全部页面,为了设置自定义加载模板,在demo/demo.js中找到这一段 //当#为/,/scroll等等,请求index.html中<base href=""> + home.html的页面 app.config(function($routeProvider) { $routeProvider.when('/', {templat

webapp框架&mdash;学习AngularUI1(demo折腾)

angularUI下载地址:https://github.com/Clouda-team/BlendUI   下载解压后,demo在根目录 现在测试官网demo的使用 用浏览器打开mobile-angular-ui-master/demo/index.html,发现没加载样式或者js.然后,审查元素后,发现加载的路径不对,于是进行了以下修改 第5行:<base href="/mobile-angular-ui-master/" /> 去掉所有/网站根目录路径,改为相对路径

各webapp框架总结

jquery mobile 太臃肿,累赘, 性能差,尤其是如果想和phonegap配合, 可以说做出来的东西没法用. jqmobi (appframework) 用过之后是个坑,也根本没法完成一个项目 senchtouch, 学习成本有些大了,还没有用过..... app.js 正在使用中,勉强可以吧,说明文档太少了 另外说下zepto.js 它的animate动画方法, 回调函数根本就不能用.

WebApp的选择

随着移动端应用市场的井喷,因供需关系导致移动端原生程序员的身价飙升.很多企业刚想转型互联网,面对APP的价格是望而生畏.然而随着H5的来临,因为其跨平台且成本相对较小很多企业都想跃跃欲试.前不久我们公司就做了一个WebAPP项目,并且已经上架.这里我就其开发过程中踩过的坑分享下经验和心得. 现在WebAPP框架比较多如:Sencha Touch:jQuery Mobile:Ionic:CrossApp:这些框架的优缺点大家在网上都能找到相关的资料.比较早的是国外的Sencha Touch,在我们