创建没有编码的html助手

时间:2012-03-01 11:19:30

标签: asp.net-mvc

我正在尝试创建一个html帮助器来渲染一个按钮。作为一个例子,这需要包含 -

<button onClick="window.location='/Users/Edit/admin'">

我尝试使用TagBuilder执行此操作,但由于MergeAttribute正在编码html,因此遇到了问题。

e.g。

buttonBuilder.MergeAttribute(“onClick”,“window.location ='”+ url.Action(action,controller,routeValues));

给了我 -

<button onClick="window.location=&#39;/Users/Edit/admin">

有没有办法可以做到这一点,所以它没有被编码?或者我应该使用TagBuilder以外的其他方法吗?

1 个答案:

答案 0 :(得分:2)

- EDITED

我差点忘了,使用HtmlDecode:

public static class ButtonHelper
{
    public static IHtmlString Button(this HtmlHelper html)
    {
        TagBuilder button = new TagBuilder("button");
        button.MergeAttribute("onClick", "window.location='/Users/Edit/admin'");

        return new HtmlString(System.Web.HttpUtility.HtmlDecode(button.ToString()));
    }
}

或者看一下:http://forums.asp.net/t/1377957.aspx/1