web-dev-qa-db-ja.com

Html.BeginForm問題を使用したMVC3 Razor

これはおそらく簡単なことですが、iveは次のコードを取得しました。

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

そして、開始{ブラケットの後に終了}ブラケットが続かなければならないと文句を言い続けますが、そこに、そしてこの種のことを行うすべてのコード例は、これを行う方法としてこれを示しているので、なぜそうしないのか少し困惑していますうまくいかない...

31
Grofit

おそらく<p>および</p>タグ内のコードにエラーがあります。

コメントアウトしてみて、結果を確認してください。

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

それは私にとってこのように働いた:

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

問題は、usingが式ではなくステートメントであるため、_@csharpexpression_が機能しないことです。ステートメントの場合、剃刀の構文は_@{csharpstatement}_を使用します。しかし、usingステートメントには中括弧のペアが含まれているため、@{ using(...) { ... } }のように少しねじれます

3
user721790

私の場合、私は同様のエラーの原因となる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>
0
TroySteven