【发布时间】:2017-01-20 09:58:10
【问题描述】:
谁能解释一下为什么我们需要使用
@using (Html.BeginForm("CheckUser", "Home", FormMethod.Post))
代替:
@Html.BeginForm("CheckUser", "Home", FormMethod.Post)
这里@using的主要目的是什么,据我所知,我只使用'using'关键字来确保对象一旦超出范围就被释放。我有点困惑。
我问这个问题是因为@Html.BeginForm 在呈现表单内容之前会输出一个文本:“System.Web.Mvc.Html.MvcForm {”。 并且通过使用 'using' 关键字,不会呈现此文本。
编辑:这是我呈现“System.Web.Mvc.Html.MvcForm ...”的代码
@Html.BeginForm("CheckUser", "Home", FormMethod.Post)
<label for="username">Username :</label>
<input type="text" name="username" id="username" placeholder="username"/>
<label for="password">Password :</label>
<input type="password" name="password" id="password" placeholder="password"/>
<input type="submit" value="Submit" />
@{Html.EndForm();}
【问题讨论】:
-
即生成对应的结束标签(本例为结束
-
我还不信,为什么要使用using关键字?
-
结束标签的输出由dispose方法实现。如果不使用“使用”,您将不会有结束的“”标签。
-
为什么不使用 'using' 关键字输出是“System.Web.Mvc.Html.MvcForm { ...”?我们还有结束标签 ?
-
@Souregi,您可以随时查看source code
标签: c# asp.net-mvc razor