Как создать Custom Helper, используя другие помощники внутри кода - PullRequest
1 голос
/ 16 февраля 2011

Я создаю собственный помощник для автоматизации некоторого кода в моем приложении. Я хотел бы теперь, как отобразить элемент управления в моем помощнике. Когда я возвращаю метод GetHTML (), страница отображает HTML как обычный текст. Когда я использую метод Render (), элемент управления отображается в теле не по порядку.

public static string EntityForm(this HtmlHelper helper, Type TypeModel)
{
    return "My Helper" + DevExpress.Web.Mvc.UI.ExtensionsFactory.Instance.TextBox(settings =>
            {
                settings.Name = att.Nome;
            }).GetHtml()
}

Ответы [ 2 ]

1 голос
/ 16 февраля 2011

Используйте HtmlString, таким образом, он не кодирует вывод.

Пример изнутри вида

@(new HtmlString("<div>some html</div>"))

Изменение Html Helper

Попробуйте изменить свой метод на следующий:

public static HtmlString EntityForm(this HtmlHelper helper, Type TypeModel)
{
    var html = "My Helper" + DevExpress.Web.Mvc.UI.ExtensionsFactory.Instance.TextBox(settings =>
            {
                settings.Name = att.Nome;
            }).GetHtml();

    return new HtmlString(html);
}
0 голосов
/ 16 февраля 2011

Razor избежит всех string s, записанных на странице.
Вам нужно изменить свой вспомогательный метод, чтобы он возвращал HtmlString, чтобы Razor не избежал его.

...