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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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内嵌函数)的主要内容,如果未能解决你的问题,请参考以下文章

HTML代码片段

[ASP.NET Core 3.1 MVC Razor页面仅在模型成员有效时显示图标

ReactJs开发自制Monkey语言编译器:实现内嵌函数调用以及增加数组类型

Dubbo3高级特性「框架与服务」开发内嵌式注册中心及多注册中心的开发实践

在 Blazor (.razor) 组件中添加多个组件

如何使用 ASP.NET Core 同时制作 Razor Page 和 C# 代码框架?