12

对于 ASP.NET MVC 应用程序,有人可以向我解释为什么调用以Html.BeginForm语句开头@using吗?

例子 -

@using (Html.BeginForm()) {

   //Stuff in the form

}

我认为@using语句用于包含名称空间。谢谢!

4

3 回答 3

18

Using Statement提供了一种方便的语法,可确保正确使用IDisposable对象。由于BeginForm助手实现了IDisposable接口,因此您可以使用using关键字。在这种情况下,该方法</form>在语句末尾呈现结束标记。您也可以使用BeginFormusing块,但是您需要标记表单的结尾:

@{ Html.BeginForm(); }
    //Stuff in the form
@{ Html.EndForm(); }
于 2013-02-18T12:21:13.590 回答
4

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

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

} // here Dispose on form is invoked.

Html.BeginForm 返回对象,该对象在处置期间呈现表单的结束标记:</form>

using包含命名空间是指令。

于 2013-02-18T12:13:55.777 回答
1

当您using与 Html.BeginForm 一起使用时,助手会在调用 BeginForm 以及调用 return object implementation 期间发出结束标记和开始标记IDisposable

当执行返回到视图中的 (Closing 花括号) using 语句的末尾时,助手发出关闭表单标记。using代码更简单优雅。

它不是强制性的,您应该usingHtml.BeginForm.

你也可以使用

@{ Html.BeginForm(); }
   <input type="text" id="txtQuery"/>
   <input type="submit" value="submit"/>
@{ Html.EndForm(); }
于 2013-02-18T12:29:10.087 回答