【发布时间】:2013-02-18 11:54:47
【问题描述】:
对于 ASP.NET MVC 应用程序,有人可以向我解释为什么对 Html.BeginForm 的调用以语句 @using 开头吗?
例子-
@using (Html.BeginForm()) {
//Stuff in the form}
我认为@using 语句用于包含命名空间。
谢谢!
【问题讨论】:
标签: asp.net-mvc razor
对于 ASP.NET MVC 应用程序,有人可以向我解释为什么对 Html.BeginForm 的调用以语句 @using 开头吗?
例子-
@using (Html.BeginForm()) {
//Stuff in the form}
我认为@using 语句用于包含命名空间。
谢谢!
【问题讨论】:
标签: asp.net-mvc razor
Using Statement 提供了一种方便的语法,可确保正确使用IDisposableobjects。由于BeginForm 助手实现了IDisposable 接口,您可以使用using 关键字。在这种情况下,该方法在语句末尾呈现结束 </form> 标记。您也可以使用 BeginForm 而不使用 using 块,但是您需要标记表单的结尾:
@{ Html.BeginForm(); }
//Stuff in the form
@{ Html.EndForm(); }
【讨论】:
当您将using 与 Html.BeginForm 一起使用时,助手会在调用 BeginForm 以及调用实现 IDisposable 的返回对象期间发出结束标记和开始标记。
当执行返回到视图中的(关闭花括号)语句的末尾时,助手发出关闭表单标记。 using 代码更简洁优雅。
您不必将using 与Html.BeginForm 结合使用。
你也可以使用
@{ Html.BeginForm(); }
<input type="text" id="txtQuery"/>
<input type="submit" value="submit"/>
@{ Html.EndForm(); }
【讨论】: