asp.net mvc htmlhelper 扩展方法

引用 System.Web.Mvc;
并把类的命名空间跟 System.Web.Mvc放在一起
 
namespace System.Web.Mvc{
    
public static class HtmlExp
    {
        public static string SpanTagSet        (this HtmlHelper helper,string id,string value,string key,string style)
        {
            TagBuilder tb=new TagBuilder(key);
            tb.MergeAttribute("style",style);
            tb.MergeAttribute("name",id);
            tb.GenerateId(id);
            tb.SetInnerText(value);
            return tb.ToString();
        }
    }
}
 
 
 

.NET MVC 扩展方法也是一种静态方法,也能像实例方法一样被调用。

.NET MVC 3中扩展方法特点:

(1)扩展类的名称以Extensions结尾;

(2)扩展类的类型是static; (3)扩展方法至少有一个参数,第一个参数必须指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀;

(4)扩展方法的类型是static;

(5)如果拓展方法的返回值是字符串则返回类型是MvcHtmlString,而不是string;

(6)页面调用必须用using指令导入扩展类型所在的命名空间。

具体案例参照以下代码:

1,新建扩展类HtmlExtensions,在其中创建扩展方法StringTruncate,具体代码参考代码1.1(该方法的作用是网站常用技术,即截取字符串)

代码1.1

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
 
namespace TestAllMVC.Helps
{
     public static class HtmlExtensions
     {
         public static MvcHtmlString StringTruncate( this HtmlHelper htmlHelper, string input, int length)
         {
             if (input.Length <= length)
             {
                 return MvcHtmlString.Create(input);
             }
             else
             {
                 return MvcHtmlString.Create(input.Substring( 0 , length) + "..." );
             }
         }
     }
}
2,本例使用Razor视图引擎,新建Index.cshtml,代码如代码2.1

代码2.1

?
1
2
3
4
5
6
@{
     ViewBag.Title = "Home Page" ;
}
@using TestAllMVC.Helps;
 
@Html .StringTruncate( "钓鱼岛是中国的!自古以来是中国不可分割的神圣领土" , 8 )
3,执行结果如图3.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值