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会为我们提供智能感知提示