@if (Model.Property != null)
{
<text>
<div class="row">
</text>
Html.RenderPartial("~/Views/CustomView.cshtml", Model);
<text> (line throwing error)
</div>
</text>
}
错误:&#34;&#34;文字&#34;元素没有关闭。所有元素必须是自动关闭或具有匹配的结束标记。&#34;
我很难理解为什么第二组<text>
标签会返回该错误。任何帮助理解它将不胜感激。
答案 0 :(得分:5)
在Razor中,标签必须正确嵌套。 <text></div></text>
不适合嵌套。
我认为在您的情况下,您只需删除所有<text>
和</text>
代码:
@if (Model.Property != null)
{
<div class="row">
@Html.Partial("~/Views/InTimeTemplate/InputFormElements/ReadMore.cshtml", Model);
</div>
}
相当于:
@if (Model.Property != null)
{
<div class="row">
@{
Html.RenderPartial("~/Views/InTimeTemplate/InputFormElements/ReadMore.cshtml", Model);
}
</div>
}
Partial
将返回结果,该结果将通过@
RenderPartial
会直接呈现它,但您需要引入一个带有@{
的C#块... }
答案 1 :(得分:0)
有点太晚但仍然:
就像一个例子,你可以使用&#34; @:&#34;
像这样:
@for (int t = 0; t < Model.TrainLines[i].Stations.Count; t++)
{
<circle id="pointA" cx="@stationCounter" cy="@trainLineCounter" r="3" />
@: <text x="@stationCounter" y="@trainLineCounter" dy="30">A</text>
stationCounter += 50;
}