mvc在视图中使用@helper封装输出代码

mvc在视图中使用@helper封装输出代码

Razor的@helper语法提供了一种简便的方法来将呈现功能封装到帮助方法中去,我们可以在单个视图模板或整个项目的所有视图模板中重用它。

下面通过两个实例说明 mvc在视图中使用@helper封装输出代码 的方法

实例一、对一个字符串的长度进行控制输出

1、在视图文件中定义

  •  
  • 
    @helper Truncate(string input, int length)
        {
            if (input.Length <= length)
            {
        @input
            }
            else
            {
        @input.Substring(0, length) <span style="color:Red;">...</span>
            }
    }
    
    		
  • 2、 调用@helper定义的方法

  •  
  •  
  • 
                <td>
                     @Truncate(item.Artist.Name, 20)
                </td>
                <td>
                    @Truncate(item.Title, 20)
                </td>
    
    		
  • 3、调用时的智能提示

    实例二、提取价格输出逻辑

    1、定义一个 封装价格输出逻辑 的方法

    2、像调用一个标准的C#方法一样,调用@helper方法

    3、当调用该方法时,Visual Studio会提供智能感知代码

    实例三、在多个视图中重用@helper

    如果我们想在多个视图中重用@helper方法,可以在App_Code目录下,新建一个.cshtml文件,然后在文件里面定义我们需要的辅助方法。

    1、创建了一个叫做“ScottGu.cshtml”的文件,并且定义了2个方法在里面(你可以在一个文件中定义任意多个helper方法)

    2、ScottGu.cshtml模板文件将会自动编译为一个叫做ScottGu的类,并且包含2个静态方法: “DisplayPrice” 和“AnotherHelper” 。

    3、在其它视图中调用

    备注:Visual Studio会为我们提供智能感知提示

    标签: