ASP.NET MVC Razor,Html.BeginForm,using语句

时间:2013-02-18 11:54:47

标签: asp.net-mvc razor

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

示例 -

  

@using(Html.BeginForm()){

   //Stuff in the form
     

}

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

3 个答案:

答案 0 :(得分:18)

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

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

答案 1 :(得分:4)

using作为语句用于定义IDisposable对象的范围。

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

} // here Dispose on form is invoked.

Html.BeginForm返回对象,在处理渲染时关闭表单的标记:</form>

包含命名空间的

using是指令。

答案 2 :(得分:1)

当您使用Html.BeginForm using时,帮助程序在调用BeginForm期间发出结束标记和打开标记,并且还调用返回实现IDisposable的对象。

当执行返回到视图中使用语句的(结束大括号)结束时,帮助程序将发出结束表单标记。 using代码更简单,更优雅。

您必须将usingHtml.BeginForm结合使用。

您也可以使用

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