我正在编写一个自定义验证集,它将显示div上所有缺少的元素.我希望能够使用一个自定义的@ Html.BeginForm()方法来写出那个div,但我真的不知道从哪里开始,因为这个坚果比一个html扩展更难以破解写出一个标签或字符串(表单封装数据/控件,最后由}关闭).
我查看了内置的BeginForm()方法的元数据版本,这对我没什么帮助.本质上,我只是想扩展该方法,如果可能的话,让它写出一个将在JavaScript中显示/隐藏的div的MvcHtmlString.
最终我正在努力解决的问题是如何编写这个具有开始和结束组件的自定义助手.
@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>"); } }