关于ASP.NET Razor的问题

时间:2013-05-16 05:49:39

标签: asp.net-mvc razor

我正在阅读一本关于使用Razor语法的ASP.NET MVC的书,并对书中的一些代码感到困惑。只是想知道这是什么意思

@using(Html.BeginForm("AddToCart", "Cart")) {....})

为什么在这里使用“使用”关键字?有人可以向我解释一下,谢谢。

4 个答案:

答案 0 :(得分:1)

在这种情况下,razor将在HTML中生成以下代码

<form action="/Cart/AddToCart" method="post">

</form>

现在使用“using”语句,有两个目的:

  1. 导入命名空间
  2. 声明使用语句中的变量将从关闭括号中调用时调用iDisposable方法。
  3. 在上面的场景中,它只是指示何时打开表单标记和关闭标记。

    参考:http://msdn.microsoft.com/en-us/library/yh598w02.aspx

答案 1 :(得分:0)

使用此语法时,自动在using语句结束时呈现关闭表单标记。 您可以在此处查看文档 BeginForm Method

答案 2 :(得分:0)

手动http://msdn.microsoft.com/en-us/library/dd460542(v=vs.108).aspx

  

您可以在using块中使用此方法。在这种情况下,该方法会在使用块的末尾呈现结束标记。

答案 3 :(得分:0)

using语句确保调用Dispose接口的IDisposable方法。

public static MvcForm BeginForm(this HtmlHelper htmlHelper)

MvcForm实现IDisposable,以便在内部调用EndFormEndForm关闭form代码并注入任何验证字段或必需的JavaScript。