WebApp 框架
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 框架的更多相关文章
- Razor 在WebApp 框架的运用
前面有两章介绍了WebApp框架<WebApp MVC,“不一样”的轻量级互联网应用程序开发框架>和<WebApp MVC 框架的开发细节归纳>,其中视图引擎是用的Nveloc ...
- webapp框架集合
1.GoAngualrjs homepage github GoAngular 可让你轻松使用 AngularJS 和 GoInstant 构建实时.多用户的应用程序. 2.JingleV home ...
- 转战WebApp: 最适合Android开发者的WebApp框架
随着移动端设备越来越多, 微信应用号即将发布, 越来越多的页面需要被移动浏览器承载, HTML5开发大热, 我们需要掌握Web开发的技能来适应时代变化. 合适的WebApp框架 AndroidUI4W ...
- ipad&mobile通用webapp框架前哨战
响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担: ...
- HTML5 webapp框架
1.Sencha Touch 注:jQTouch主要用于手机上的web Kit浏览器上实现一些包括动画.列表导航.默认应用样式等各种常见UI效果的 JavaScript 库.支持包括 iPhone.A ...
- 关于给予webApp框架的开发工具
webApp 1.phonegap webApp即基于html+css+javascript,对于新手会联想好多及疑问(如数据的添删查修如何实现,参数传递如何实现) 添加查修使用jsonp跨域实现的 ...
- WebApp框架
我所知道的webapp开发框架,欢迎补充, Framework7包含ios和material两种主题风格并且有vue版和react版, vue发现一个vue-material, react有一款mat ...
- 基于Vue2 搭建移动端 webapp 框架
Vue.js2.0作为国内热门并广为人知的前端框架,其与其他主流框架的优势在此不做过多赘述.搭建框架步骤如下: 转自:http://www.jianshu.com/p/beae26e57b0f 安装N ...
- 轻量级的移动 webapp 框架Jingle
一大早爬起来,发现这样的一个东东,国产,感觉实用性很强,试着用用. 1.28补记: 试着用jingle做了一个网站的移动版,感觉如果在布局上要求不高的话 - 目前支持的布局只有list,还是挺不错,做 ...
随机推荐
- T-SQL开发——ID处理篇
原文:T-SQL开发--ID处理篇 数据库自增ID功能中Identity.Timestamp.Uniqueidentifier的区别: 问题现象: 一般序号的产生,对于一般程序员而言,都是使用T-SQ ...
- 【七】注入框架RoboGuice使用:(Your First Custom Binding)
上一篇我们简单的介绍了一下RoboGuice的使用([六]注入框架RoboGuice使用:(Singletons And ContextSingletons)),今天我们来看下自己定义绑定(bindi ...
- 如何设置eclipse在默认模式下打开文件
如何设置eclipse在默认模式下打开文件 打开eclipse.选择例如以下:windows --> preferences --> General --> Editors --&g ...
- 09应用输入经理旋转场景--《猿学校课程Unity3d》
为什么极品飞车游戏等.,我们可以通过系统设置非常的方面根据自己喜欢的操作模式设置,有些人喜欢用箭头来控制不喜欢与使用"W,S,A,D"控制,这就解释程序猿不会死在程序写入内部控制, ...
- (插播)unity的 异常捕捉和 ios Android 崩溃信息的捕捉。
近期 做些准备性得工作和有意思的事情.所以近期做了一个适合ios和android 错误信息捕捉的unity插件. 两个功能,app崩溃也就是闪退 是开发人员 非常头疼的一件事,还有就是一些莫名得错误 ...
- a web-based music player(GO + html5)
github 住址:https://github.com/codercheng/music-player 后台是用GO (windows/ linux 都能够),前端是HTML5 推荐用chrome浏 ...
- 安装、设置与启动MySql绿色版的方法
原文:安装.设置与启动MySql绿色版的方法 1.解压 mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysq ...
- (大数据工程师学习路径)第四步 SQL基础课程----修改和删除
一.准备 在正式开始本内容之前,需要先从github下载相关代码.该代码可以新建两个数据库,分别名为test_01和mysql_shiyan ,并在mysql_shiyan数据库中建4个表(depar ...
- Java学习之路:ArrayList用法
1.什么是ArrayList ArrayList是一个动态数组传奇,使用MSDN声明.那是,Array复杂的版本号,它具有以下优点,例如: 动态的添加和降低元素 实现了ICollection和 ...
- 内存四个领域,变量声明和定义,注册,c内联汇编,auto,堆,不变,静态变量
1.内存四大区域 2.在程序中,变量的声明能够有多份,定义仅仅能有一份 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVh ...