MvcForm.Disposeは、本来MvcFormオブジェクトの終了処理であり、リソース解放とかだが、実はformの終了タグを出力することも担っている。
MvcForm.Dispose メソッド (System.Web.Mvc.Html) | Microsoft Docs
Index.aspxで、
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Index</title> </head> <body> <div> <% var mvcForm = Html.BeginForm(); mvcForm.Dispose(); %> </div> </body> </html>
とすると、
formの終了タグが出力されてる。
ということは、
usingでHtml.BeginForm()の戻り値のMvcFormを囲んでも、Disposeが呼ばれformの終了タグが出力されるということ。
確かにそうなった。
(usingを使った記述が見られたので、何故かとおもったらそういうことだった・・・。)
https://github.com/bg1bgst333/Sample/tree/master/aspnetmvc/MvcForm/Dispose/src/MvcForm_title