31 votes

MVC3 Razor utilisant le problème Html.BeginForm

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 ...

36voto

GvS Points 28137

Il y a probablement une erreur dans le code dans les balises <p> et </p> .

Essayez de le commenter et voyez quel est le résultat:

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

3voto

user721790 Points 39

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(...) { ... } }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X