C'est probablement une chose simple, mais j'ai obtenu le code suivant:
<div>
@using (Html.BeginForm()) {
<p>
...
</p>
}
</div>
Et il continue de se plaindre que le {crochet de début doit être suivi d'un crochet de fin}, mais c'est là, et tous les exemples de code faisant ce genre de choses montrent cela comme la façon de le faire, donc je suis un peu perplexe quant à pourquoi il ne le fait pas ça marche pas ...
Il y a probablement une erreur dans le code dans le <p>
et </p>
Mots clés.
Essayez de le commenter et voyez quel est le résultat:
<div>
@using (Html.BeginForm()) {
<p>
@* = Server side comment out.
....
*@
</p>
}
</div>
Cela a fonctionné pour moi de cette façon:
@{ using (Html.BeginForm(...))
{
<p>
Content here
</p>
}
}
Le problème est que l'utilisation est une instruction, pas une expression, donc @csharpexpression
Ne fonctionnera pas. Pour les instructions, la syntaxe du rasoir consiste à utiliser @{csharpstatement}
. Mais l'instruction using comprend sa propre paire d'accolades, donc elle devient un peu tordue comme @{ using(...) { ... } }
Dans mon cas, il me manquait un div de fermeture qui a provoqué une erreur similaire.
Code d'erreur:
<div>
@using (Html.BeginForm()) {
<div><p>
@* = Server side comment out.
....
*@
</p>
}
</div>
Résolu:
<div>
@using (Html.BeginForm()) {
<div><p>
@* = Server side comment out.
....
*@
</p></div>
}
</div>