HTML. BeginForm () тип расширения

Наблюдение как, как парни, которые делают Grails просто, были вчера выкуплены источником Spring, я скажу Grails.

кроме того, так как Groovy является надмножеством Java, можно погрузиться прямо в просто использование Java, который Вы знаете, не имея необходимость изучать Ruby. Теперь, Вы изучите много динамического материала также и в конечном счете запишете код Groovy вместо кода Java, но это понижает барьер для доступа.

Grails полностью!

6
задан DaveRandom 25 February 2013 в 20:15
поделиться

2 ответа

Вам необходимо создать класс, реализующий интерфейс IDisposable , и вернуть его из вашего HtmlHelper .

public static class HtmlHelperTableExtensions {
    private class TableRenderer : IDisposable {
        HtmlHelper html;
        public TableRenderer(HtmlHelper html) {
           this.html = html;
        }
        public void Dispose() {
           HtmlHelperTableExtensions.EndTable(html);
        }
    }
    public static IDisposable BeginTable(this HtmlHelper html) {
        // print begin table here...
        return new TableRenderer(html);
    }
    public static void EndTable(this HtmlHelper html) {
        // print end table here...
    }
}
8
ответ дан 10 December 2019 в 02:49
поделиться

Вам понадобится метод примерно такого вида:

public static IDisposable BeginTable(this HtmlHelper html, ...)
{
    // write the start of the table here

    return new EndTableWriter();
}

Где EndTableWriter будет примерно таким:

private class EndTableWriter : IDisposable
{
    public void Dispose()
    {
        // write the end of the table here
    }
}
1
ответ дан 10 December 2019 в 02:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: