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页面,需要可以留言

有错请留步指导

你可能感兴趣的:(3.MVC框架开发(Razor内嵌函数))