3.MVC框架开发(Razor内嵌函数)

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

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

@helper  showTitle(string strTitle){
    if(strTitle.Length > 8){
        @(strTitle.Substring(0,8)+"...") //输出内容
    }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页面,需要可以留言

有错请留步指导

时间: 2024-10-27 04:26:07

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

(转)MVC语法[email protected]和@functions(Razor内定义函数)

(转)MVC语法[email protected]和@functions(Razor内定义函数) 转自:http://www.mikesdotnetting.com/Article/173/[email protected]@Functions-In-WebMatrix The Difference Between @Helpers and @Functions In WebMatrix This is another post which was inspired by a recent qu

2014-07-29 浅谈MVC框架中Razor与ASPX视图引擎

今天是在吾索实习的第15天.随着准备工作的完善,我们小组将逐步开始手机端BBS的开发,而且我们将计划使用MVC框架进行该系统的开发.虽然我们对MVC框架并不是非常熟悉,或许这会降低我们开发该系统的效率,但是我们可以通过边学边做的方式来实现其开发的.这不仅便于我们日后对系统的管理与维护,而且还给我们带来一个学习的动力与实践的地方. 但我们在创建一个基于MVC框架的项目时,就遇到一些问题了.那就是MVC的视图引擎是有两种的,一种是Razor,会以cshtml后缀的文件作为视图文件:另一种是ASPX,

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

原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 这一节我们讲一下make的函数,在之前的章节已经讲到了几个函数:wildcard.patsubst.notdir.shell等.一般函数的调用格式如下: $(funcname arguments) 或 $(funcname arguments) 其中funcname是需要调用函数的函数名称,应该是make内嵌函数:arguments是函数参数,参数和函数名之间使用空格分割,如果存在多个参 数时

内嵌函数和闭包

函数的嵌套 python的函数支持内嵌,即在函数中定义函数 >>> def fun1(): print('fun1()正在被调用') def fun2(): print('fun2()正在被调用') fun2() >>> fun1() fun1()正在被调用 fun2()正在被调用 内嵌函数的作用域在外部函数之内,即fun2只能在fun1之内调用. >>> fun2() Traceback (most recent call last): File &

Python--12 内嵌函数和闭包

内嵌函数/内部函数 >>> def fun1(): ... print('fun1()正在调用') ... def fun2(): ... print('fun2()正在被调用') ... fun2() ... >>> fun1() fun1()正在调用 fun2()正在被调用 内部函数作用域在外部函数之内 >>> fun2() Traceback (most recent call last): File "<stdin>&qu

Makefile所有内嵌函数

一.文本处理函数以下是GNU make内嵌的文本(字符串)处理函数.1       $(subst FROM,TO,TEXT) 函数名称:字符串替换函数—subst. 函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”. 返回值:替换后的新字符串. 示例: $(subst ee,EE,feet on the street) 替换“feet on the street”中的“ee”为“EE”,结果得到字符串“fEEt on the strEEt”.2       $(patsubst 

从头开始写项目Makefile(十):make内嵌函数及make命令显示

[版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 这一节我们讲一下make的函数,在之前的章节已经讲到了几个函数:wildcard.patsubst.notdir.shell等.一般函数的调用格式如下: $(funcname arguments) 或 $(funcname arguments) 其中funcname是需要调用函数的函数名称,应该是make内嵌函数:arguments是函数参数,参数和函数名之间使

Python 学习笔记 -- 内嵌函数、闭包、匿名函数、高阶函数map、高阶函数filter、高阶函数reduce

1 #------------------------------内嵌函数------------------------------ 2 #内嵌函数就是在函数内部定义函数 3 #实例一 4 print("#------------------------------内嵌函数------------------------------") 5 def funOutOne(): 6 x = 5 7 def funIn(): 8 x = 3 9 print("My funOutO

Python内嵌函数

局部变量 def discount(price, rate): final_price = price * rate return final_price old_price = float(input('请输入原价:'))    全局变量 rate = float(input('请输入折扣率:')) new_price = discount(old_price, rate) print('打折后的价格是:',new_price) print('打印局部变量final_price的值:',fin