我正在编写一个自定义验证集,它将显示 div 上所有缺失的元素。我希望能够使用自定义@Html.BeginForm()
方法将写出该 div 但我真的不知道从哪里开始,因为这个坚果比写出标签或字符串的 html 扩展更难破解(表单封装了数据/控件并由}
在最后)。
我查看了内置的元数据版本BeginForm()
方法,对我来说没有太大帮助。本质上,我只是想如果可能的话扩展该方法并让它写出一个MvcHtmlString
of a div
这将从 JavaScript 中显示/隐藏。
最终,我正在努力解决如何编写这个具有开始和结束组件的自定义助手。
@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>");
}
}
您需要为以下内容编写一个扩展方法HtmlHelper
打印到的类helper.ViewContext.Writer
.
该方法应该返回一个IDisposable
打印结束标签Dispose
method.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)