Создание помощников HTML без кодирования - PullRequest
2 голосов
/ 01 марта 2012

Я пытаюсь создать HTML-помощник для рендеринга кнопки.В качестве примера это должно содержать -

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

Я пытался сделать это с помощью TagBuilder, но у меня возникли проблемы, потому что MergeAttribute кодирует HTML.

например,

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

дает мне -

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

Есть ли способ, которым яможно сделать так, чтобы он не был закодирован?Или я должен использовать другой метод, кроме TagBuilder?

1 Ответ

2 голосов
/ 01 марта 2012

- 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...