Asp.net mvc 2 HTMLHelper.Beginform查询

Asp.net mvc 2 HTMLHelper.Beginform查询,asp.net-mvc-2,Asp.net Mvc 2,我正在学习ASP.NETMVC中的HTMLHelpers 要呈现表单HTML标记,您可以编写如下代码 <% using(Html.BeginForm("HandleForm", "Home")) {%> <!--Form content goes here--> <% } %> 或 …表格内容… 若要呈现一个复选框,请使用 <%= Html.CheckBox("bookType") %> 我想知道的是为什么我们需要使用,因为

我正在学习ASP.NETMVC中的HTMLHelpers

要呈现表单HTML标记,您可以编写如下代码

<% using(Html.BeginForm("HandleForm", "Home")) {%>
    <!--Form content goes here-->
<% } %>


…表格内容…
若要呈现一个复选框,请使用

<%= Html.CheckBox("bookType") %>

我想知道的是为什么我们需要使用,因为
包装了一个代码块

相当于

在ASP.NET MVC 3中,您可以使用


您当然可以编写
,但也需要编写
。使用
块在
中包装
Html.BeginForm()
只会为您呈现结束标记。

Html.CheckBox
返回包含
标记的Html字符串。
您需要通过写入
将此字符串打印到页面上

Html.BeginForm
打印方法内部的Html(通过调用
Response.Write
),而不返回Html。(相反,它会返回一个
IDisposable
,这样您就可以在
using
块中使用它了)
由于不打印其返回值,所以将其放入
块中,该块执行代码而不打印其结果

<%= Html.CheckBox("bookType") %>