namespace MvcApplication2.Models
{
//扩展方法三要素:静态类、静态方法、this关键字
public static class MyMethodExt
{
public static string GetLable(this HtmlHelper helper, string txt)
{
return string.Format("<span>{0}</span>",txt);
}
}
}
前台需要导入命名空间
<%@ import namespace="
MvcApplication2.Models%>// 这不是必须的
剑招:将类命名空间换成 HtmlHelper的命令空间"
System.Web.Mvc"
这样每个页面都不用再引用命名空间就可以点出来扩展方法。
public static MvcHtmlString GetMvcHtmlStringLable(this HtmlHelper helper, string txt)
{
string str = string.Format("<span>{0}</span>",txt);
//将上面的str 转成 MvcHtmlString
//思路
//1.创建一个实例:new ,构造方法中传入str 行不通,构造方法受保护
//2.本类要么有个静态方法帮我们创建create
//3.或者有个工厂帮我们创建一个实例:HttpApplicationFactory
return MvcHtmlString.Create(str);
}