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>");
}
}