如何在asp.net MVC中创建自定义帮助器?

时间:2011-03-23 12:57:10

标签: c# asp.net-mvc-3 extension-methods html-helper helpers

我在论坛上询问了this问题的静态链接助手,但我还没有得到答案。所以我决定创建自己的帮手。

我正在尝试为静态链接创建帮助器

<a href='xx'>yy</a>

但正在显示HTML代码。

是:

<div>
@Html.Link("www.google.com", "Google")
</div>

结果:

<a href="www.google.com">Google</a> 

查看我的课程:

public static class BindHelper
{
    public static TagBuilder Link(this HtmlHelper helper, string targetUrl, string text)
    {
        TagBuilder imglink = new TagBuilder("a");
        imglink.MergeAttribute("href", targetUrl);
        imglink.InnerHtml = text;
        return imglink;
    }
}

如何创建自己的助手? 已经在几个站点上进行了研究,一些扩展的方法在另一个类TagBuilder中返回一个字符串,但它在页面上显示HTML代码的方式

1 个答案:

答案 0 :(得分:4)

返回MvcHtmlString。这就是MVC在内部所做的事情。它(稍微)实现了IHtmlString,它告诉HTML编码器不要重新编码该值。

还要将您的命名空间添加到web.config

的构建配置部分