This is probably a simple thing, but ive got the following code:
<div>
@using (Html.BeginForm()) {
<p>
...
</p>
}
</div>
And it keeps complaining that the starting { bracket must be followed by a end } bracket, but its there, and all code examples doing this sort of stuff show this as the way to do it, so im a bit baffled as to why it doesn't work...
Probably there is an error in the code within the <p>
and </p>
tags.
Try commenting it out and see what the result is:
<div>
@using (Html.BeginForm()) {
<p>
@* = Server side comment out.
....
*@
</p>
}
</div>
It worked for me this way:
@{ using (Html.BeginForm(...))
{
<p>
Content here
</p>
}
}
The problem is that using is a statement, not an expression, so @csharpexpression
won't work. For statements, the razor syntax is to use @{csharpstatement}
. But the using statement includes its own pair of curly braces, so it gets a little twisted like @{ using(...) { ... } }