Asp.net mvc ASP.NET MVC Razor,Html.BeginForm,using语句

Asp.net mvc ASP.NET MVC Razor,Html.BeginForm,using语句,asp.net-mvc,razor,Asp.net Mvc,Razor,对于ASP.NET MVC应用程序,是否有人能向我解释一下为什么调用Html.BeginForm以语句@using开头 范例- @使用(Html.BeginForm()){ } 我认为使用语句是为了包含名称空间。 谢谢 as语句用于定义IDisposable对象的范围 @using (var form = Html.BeginForm()) { //Stuff in the form } // here Dispose on form is invoked. Html.BegNoti

对于ASP.NET MVC应用程序,是否有人能向我解释一下为什么调用
Html.BeginForm
以语句
@using
开头

范例-

@使用(Html.BeginForm()){

}

我认为使用语句是为了包含名称空间。 谢谢

as语句用于定义IDisposable对象的范围

@using (var form = Html.BeginForm()) {
    //Stuff in the form

} // here Dispose on form is invoked.
Html.BegNotify返回对象,该对象在dispose期间呈现表单的结束标记:

用于包含命名空间的是指令。

提供了一种方便的语法,确保正确使用
IDisposable
对象。由于
BeginForm
帮助程序实现了
IDisposable
界面,因此您可以使用
using
关键字。在这种情况下,该方法在语句末尾呈现结束标记。您也可以使用
BeginForm
而不使用
using
块,但是您需要标记表单的结尾:

@{ Html.BeginForm(); }
    //Stuff in the form
@{ Html.EndForm(); }

在Html.BeginForm中使用
using
时,助手会在调用BeginForm和调用return object实现
IDisposable
期间发出结束标记和开始标记

当执行返回到视图中using语句的末尾(关闭大括号)时,辅助对象将发出关闭表单标记。使用代码的
更简单、更优雅

您不必将
使用
Html.BeginForm
结合使用

你也可以使用

@{ Html.BeginForm(); }
   <input type="text" id="txtQuery"/>
   <input type="submit" value="submit"/>
@{ Html.EndForm(); }
@{Html.BeginForm();}
@{Html.EndForm();}
@{ Html.BeginForm(); }
   <input type="text" id="txtQuery"/>
   <input type="submit" value="submit"/>
@{ Html.EndForm(); }