ASP.NET MVC剃刀,Html.BeginForm,using语句(ASP.NET MVC R

2019-07-20 02:53发布

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

例如 -

@using(Html.BeginForm()){

  //Stuff in the form 

}

我以为@using语句是包括命名空间。 谢谢!

Answer 1:

using语句提供了一个方便的语法,确保正确使用IDisposable对象。 由于BeginForm帮助实现IDisposable接口,你可以使用using关键字它。 在这种情况下,该方法使得所述封闭</form>在语句的结束标记。 您也可以使用BeginFormusing块,但你需要标记的形式结束:

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


Answer 2:

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

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

} // here Dispose on form is invoked.

Html.BeginForm返回对象期间处置呈现结束标记为一种形式: </form>

using了包括命名空间指令。



Answer 3:

当您使用using与Html.BeginForm,助手发出呼吁BeginForm并在通话过程中关闭标签开放标签返回的对象实现IDisposable

当执行返回到在视图中使用语句(右大括号)的端部,辅助发射的闭合形式的标签。 在using代码更简单和优雅。

它不是强制性的,你应该使用using与组合Html.BeginForm

您还可以使用

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


文章来源: ASP.NET MVC Razor, Html.BeginForm, using statement