.NET MVC 扩展方法必须在非泛型静态类中定义
程序员文章站
2023-12-06 14:39:46
.net mvc 扩展方法也是一种静态方法,也能像实例方法一样被调用。
.net mvc 3中扩展方法特点:
(1)扩展类的名称以extensions结尾;
(2)扩展类的类型是stat...
.net mvc 扩展方法也是一种静态方法,也能像实例方法一样被调用。
.net mvc 3中扩展方法特点:
(1)扩展类的名称以extensions结尾;
(2)扩展类的类型是static;
(3)扩展方法至少有一个参数,第一个参数必须指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀;
(4)扩展方法的类型是static;
(5)如果拓展方法的返回值是字符串则返回类型是mhtmlstring,而不是string;
(6)页面调用必须用using指令导入扩展类型所在的命名空间。
具体案例参照以下代码:
1,新建扩展类htmlextensions,在其中创建扩展方法stringtruncate,具体代码参考代码1.1(该方法的作用是网站常用技术,即截取字符串)
代码1.1
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.length2,本例使用razor视图引擎,新建index.cshtml,代码如代码2.1
代码2.1
@{ viewbag.title = "home page"; } @using testallmvc.helps; @html.stringtruncate("钓鱼岛是中国的!自古以来是中国不可分割的神圣领土",8)3,执行结果如图3.1