MVC 3 Razor中的@helper 语法

Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外)。当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速、通畅的编码工作流。

与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束。代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码。这种更加简洁、富有表现力的语法更加干净,输入也更快速,有趣。

Razor中的@helper语法让您能够轻松创建可重用的帮助器方法,此方法可以在您的视图模板中封装输出功能。他们使代码能更好地重用,也使代码更具有可读性。我们来看下面的例子。

当我们要对一个字符串的长度进行控制输出时,我们可以在视图里引用helper语法,如下:

@helper Truncate(string input, int length)
    {
        if (input.Length <= length)
        {
    @input
        }
        else
        {
    @input.Substring(0, length) <span style="color:Red;">...</span>
        }
}

然后我们可以像调用一个标准的C#方法一样调用,调用@helper方法

<td>
                 @Truncate(item.Artist.Name, 20)
            </td>
            <td>
                @Truncate(item.Title, 20)
            </td>

并且调用时有智能提示:

clip_image002

效果图如下:

clip_image002[4]

 

 

在多个视图中重用@helper方法

如果我们想在多个视图中重用@helper方法,可以在App_Code目录下,新建一个.cshtml文件,然后在文件里面定义我们需要的辅助方法。我们新建一个“ViewStringHelper.cshtml”文件,在文件中定义字符串控制输出方法:

@helper Truncate(string input, int length)
    {
        if (input.Length <= length)
        {
    @input
        }
        else
        {
    @input.Substring(0, length) <span style="color:red;font-size:18px;">...</span>
        }
}

在App_Code文件夹中的ViewStringHelper.cshtml会逻辑编译为一个” ViewStringHelper”的类,这个类中包含了Truncate静态成员。但是一定要先编译好后,在引用页面才能有智能提示如下:

clip_image001

转载于:https://www.cnblogs.com/bianlan/archive/2013/01/15/2860538.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值