1.建立没有返回值的Razor内嵌函数(但是能直接输出内容)

必须以@符号开头,没有返回值但能直接输出内容,比如:

@helper  showTitle(string strTitle){
if(strTitle.Length > ){
@(strTitle.Substring(,)+"...") //输出内容
}else{
@strTitle //输出内容
}
}

2.建立有返回值的Razor内嵌函数

必须以@functions开头且里面是一个静态方法,比如通过图书ISBN编号输出图片:

@functions{
public static string ShowImg(string isbn)
{
string FilePath = "~/Content/Images/BookCovers/"+isbn+".jpg";//虚拟路径
string PhysicPath = HttpContext.Current.Server.MapPath(FilePath);//将虚拟路径转换为物理路径
if(File.Exists(PhysicPath)){
return FilePath;
}
else{
return "~/Content/Images/book_01.gif";
}
}
}

3.建立全局的Razor内嵌函数

1)在项目中新建一个app_code文件夹(里面的文件会最终编译生成一个类,这个类可以在任何地方调用,不需要引入命名空间)

2)在文件夹下添加后缀名为cshtml的视图文件,比如创建RazorHelper.cshtml文件,那么最终会编译成RazorHelper类

3)编写没有返回值的或者有返回值的内嵌函数,写法和1、2中的一致

4)在其他页面调用内嵌函数方法:@类名.方法名(参数值),比如:

@RazorHelper.showTitle(t.Title)//无返回值函数
@RazorHelper.ShowImg(item.ISBN)//有返回值的函数

这些代码来自MvcBookShop项目,在F:\Program\MvcBookShop\MvcBookShop目录下的Index页面,需要可以留言

有错请留步指导

3.MVC框架开发(Razor内嵌函数)的更多相关文章

  1. (转)MVC语法-@helpers和@functions(Razor内定义函数)

    (转)MVC语法-@helpers和@functions(Razor内定义函数) 转自:http://www.mikesdotnetting.com/Article/173/The-Differenc ...

  2. ASP.NET MVC框架开发系列课程 (webcast视频下载)

    课程讲师: 赵劼 MSDN特邀讲师 赵劼(网名“老赵”.英文名“Jeffrey Zhao”,技术博客为http://jeffreyzhao.cnblogs.com),微软最有价值专家(ASP.NET ...

  3. 零基础入门学习Python(20)--函数:内嵌函数和闭包

    知识点 global关键字 使用global关键字,可以修改全局变量: >>> count = 5 >>> def Myfun(): count = 10 prin ...

  4. Makefile---make内嵌函数及make命令显示 (九)

    原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 这一节我们讲一下make的函数,在之前的章节已经讲到了几个函数:wildcard.patsubs ...

  5. Makefile所有内嵌函数

    一.文本处理函数以下是GNU make内嵌的文本(字符串)处理函数.1       $(subst FROM,TO,TEXT) 函数名称:字符串替换函数—subst. 函数功能:把字串“TEXT”中的 ...

  6. Makefile学习(二)条件判断和内嵌函数

    第七章:Makefile的条件执行 条件语句可是是两个不同的变量.或者变量和常量值的比较: 7.1例子: 对变量“CC”进行判断,其值如果是“gcc ”那么在程序连接时使用库“libgnu.so”或者 ...

  7. 函数:内嵌函数和闭包 - 零基础入门学习Python020

    函数:内嵌函数和闭包 让编程改变世界 Change the world by program 内嵌函数和闭包 接下来这两节课我们谈的话题可能会"比较高级",所以如果是零基础的朋友, ...

  8. Python3基础 内嵌函数 简单示例

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  9. cpp 内嵌函数(lambda,struct)

    auto testFun = [this](int t)->void{ } []()->反回值{ } []内传入函数运行环境所用变量 ()内传入变量 捕捉块 lambda表达式的方括号部分 ...

随机推荐

  1. Debian 7 安装Firefox

    Debian 7默认自带的浏览器叫做 iceweasel,据维基百科介绍是Mozilla Firefox浏览器的一个再发布版,从Debian 4 开始默认安装. 本文内容:安装Firefox.安装Fl ...

  2. LNMP一键安装包-CentOS 5/6下自动编译安装Nginx,MySQL,PHP

    适用环境: 系统支持:CentOS-5 (32bit/64bit).CentOS-6 (32bit/64bit) 内存要求:≥128M 安装了什么: 1.Nginx-1.2.0 2.MySQL 5.5 ...

  3. Hadoop基于Protocol Buffer的RPC实现代码分析-Server端

    http://yanbohappy.sinaapp.com/?p=110 最新版本的Hadoop代码中已经默认了Protocol buffer(以下简称PB,http://code.google.co ...

  4. 关于ServletConfig的小结

         在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.当servlet配置了初始化参数后,web容器在创建servlet ...

  5. SQL访问EXCEL错误集合

    --行集函数 --1, OPENDATASOURCE 环境:WIN7,SQL 2014,OFFICE 2013 SELECT * FROM OPENDATASOURCE('Microsoft.ACE. ...

  6. oracle随笔(转)

    ---------数学函数 1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual 2.取整(大)S:select ceiling(-1 ...

  7. 使用 x3dom 框架及 WebGL 在浏览器上显示 3 维模型

    如果需要在浏览器上显示 3D 画面的话, 现在一般会使用 ​WebGL, 典型的例如 three.js(​http://mrdoob.github.com/three.js/), 但是 WebGL 对 ...

  8. iOS scrollView/tableView滚动到底部

    //项目要求tableView滚动到底部就自动加载下一页,UITableView继承自UIScrollView 所以可以在//scrollViewDidEndDecelerating这个方法中进行判断 ...

  9. 添加数据库的Maven依赖(SqlServer,Oracle)

    oracle: 1.在Oracle官网下载ojdbc的jar包 例:ojdbc7.jar,版本是12.1.0.2,存储地址/home/peng/下载 2.dos中进入存储地址执行如下命令行(注意各项对 ...

  10. Razor引擎学习:RenderBody,RenderPage和RenderSection

    ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection ...