我正在编写一个自定义验证集,它将在 div 上显示所有缺少的元素。我希望能够使用一个自定义@Html.BeginForm()
方法来写出那个 div,但我真的不知道从哪里开始,因为这个坚果比写出标签或字符串的 html 扩展更难破解(表单封装了数据/控件并}
在最后关闭)。
我查看了内置BeginForm()
方法的元数据版本,它对我没有多大帮助。本质上,我只是想尽可能地扩展该方法,并让它写出将在 JavaScript 中显示/隐藏MvcHtmlString
的 a 。div
最终我苦苦挣扎的地方是弄清楚如何编写这个具有开头和结尾组件的自定义助手。
@using(Html.BeginForm())
{
...
}
我希望能够做这样的事情:
@using(Html.VBeginForm())
{
...
}
并让它呈现我的额外 html
编辑:从下面的建议中添加代码
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>");
}
}