divに欠落しているすべての要素を表示するカスタム検証セットを作成しています。そのdivを書き出すカスタムメソッドを使用できるようにしたいの@Html.BeginForm()
ですが、このナットはタグまたは文字列を書き出す単なるhtml拡張機能よりも少し難しいため、どこから始めればよいのかよくわかりません。 (フォームはデータ/コントロールをカプセル化}
し、最後に閉じられます)。
組み込みメソッドのメタデータバージョンを調べましたが、BeginForm()
あまり役に立ちませんでした。基本的に、可能であればそのメソッドを拡張して、JavaScriptから表示/非表示にするMvcHtmlString
のを書き出してもらいたいだけです。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>");
}
}