rolling my own @ Html.BeginfBrm ()

Estou escrevendo um conjunto de validação personalizado que exibirá todos os elementos ausentes em uma div. Gostaria de poder usar um @ personaliza@Html.BeginForm() método que escreverá essa div, mas eu realmente não tenho certeza por onde começar, já que essa porca é um pouco mais difícil de quebrar do que apenas uma extensão html que grava uma tag ou string (o formulário encapsula dados / controles e está fechado por} no fim)

Eu olhei para a versão de metadados doBeginForm() método e não foi de muita ajuda para mim. Basicamente, só quero estender esse método, se possível, e escrever umMvcHtmlString de umdiv que será exibido / oculto do JavaScript.

, onde estou lutando, estou tentando descobrir como escrever esse auxiliar personalizado que tem o componente inicial e fina

@using(Html.BeginForm())
{
...

}

Eu gostaria de poder fazer algo assim:

@using(Html.VBeginForm())
{
...

}

e ter que render meu html extra

EDIT: adicionando código da sugestão abaixo

public class VBeginForm : IDisposable
{
    private readonly HtmlHelper _helper;
    public VBeginForm(HtmlHelper htmlHelper, string areaName)
    {
        _helper = htmlHelper;
        var container = new TagBuilder("form");
        container.GenerateId(areaName);
        var writer = _helper.ViewContext.Writer;
        writer.Write(container.ToString(TagRenderMode.StartTag));
    }

    public void Dispose()
    {
        _helper.ViewContext.Writer.Write("</form>");
    }
}

questionAnswers(2)

yourAnswerToTheQuestion