MVC3 Razor使用Html.BeginForm问题

时间:2011-02-14 09:46:48

标签: asp.net-mvc-3 razor

这可能是一件简单的事情,但我得到了以下代码:

<div>
    @using (Html.BeginForm()) {
        <p>
            ...
        </p>
    }
</div>

并且它一直在抱怨起始{括号必须后跟一个结尾}括号,但它在那里,并且所有这些东西的代码示例都表明这是做到这一点的方式,所以我有点困惑于为什么它不起作用......

3 个答案:

答案 0 :(得分:34)

<p></p>代码中的代码可能存在错误。

尝试将其评论出去,看看效果如何:

<div>
    @using (Html.BeginForm()) {
        <p>
                    @*  = Server side comment out.
                    ....
                    *@
        </p>
    }
</div>

答案 1 :(得分:3)

这对我有用:

  @{ using (Html.BeginForm(...))
     {
      <p>
      Content here
      </p>
     }
  }

问题是using是一个语句而不是表达式,因此@csharpexpression将不起作用。对于语句,剃刀语法是使用@{csharpstatement}。但是using语句包含它自己的一对花括号,所以它有点扭曲,如@{ using(...) { ... } }

答案 2 :(得分:0)

就我而言,我错过了一个封闭的div,这导致了类似的错误。

错误代码:

<div>
@using (Html.BeginForm()) {
    <div><p>
                @*  = Server side comment out.
                ....
                *@
    </p>
}
</div>

已解决:

<div>
@using (Html.BeginForm()) {
    <div><p>
                @*  = Server side comment out.
                ....
                *@
    </p></div>
}
</div>