在我的代码中:
@foreach (var post in Model.Posts)
{
Html.RenderPartial("ShowPostPartial", post);
}我在RenderPartial线路上有个例外。
错误CS1513:}应为。
我做错了什么?
发布于 2011-03-21 01:24:14
为了完整性,这里有另一种导致这种情况的方法:
@if(condition)
{
<input type="hidden" value="@value">
}问题是,非闭合元素使得内容是html块变得不够明显(但我们并不总是使用xhtml,对吧?)。
在这种情况下,您可以使用:
@if(condition)
{
@:<input type="hidden" value="@value">
}或
@if(condition)
{
<text><input type="hidden" value="@value"></text>
}发布于 2012-07-20 20:22:51
这基本上与Mark Gravell给出的答案相同,但我认为如果你有更大的视角,这是一个很容易犯的错误:检查html标记,看看它们在哪里开始和结束,并注意介于两者之间的剃刀语法,这是错误的:
@using (Html.BeginForm())
{
<div class="divClass">
@Html.DisplayFor(c => c.SomeProperty)
}
</div>这是正确的:
@using (Html.BeginForm())
{
<div class="divClass">
@Html.DisplayFor(c => c.SomeProperty)
</div>
}同样,与前面关于未关闭的输入元素的帖子几乎相同,但请注意,我在更改视图时多次放置了错误的div。
发布于 2011-03-20 23:56:48
我在Razor上遇到了这个问题。我不确定这是解析器中的bug还是什么,但我解决这个问题的方法是分解:
@using(Html.BeginForm()) {
<h1>Example</h1>
@foreach (var post in Model.Posts)
{
Html.RenderPartial("ShowPostPartial", post);
}
} 进入:
@{ Html.BeginForm(); }
<h1>Example</h1>
@foreach (var post in Model.Posts)
{
Html.RenderPartial("ShowPostPartial", post);
}
@{ Html.EndForm(); }https://stackoverflow.com/questions/5369540
复制相似问题