为什么我需要使用<text>
标记来封装管道文字'|'在这个标记?当然,它远远超出了ActionLink方法的范围。
@foreach (var item in Model.DetailItem.PlannedResources)
{
<tr>
<td>
@if (Model.ViewMode == ViewMode.Edit)
{
@Html.ActionLink("Edit", "Edit", new { id = item.PlannedResourceId }) <text>|</text>
@Html.ActionLink("Delete", "Delete", new {id = item.PlannedResourceId})
}
@Html.ActionLink("Details", "Details", new { id = item.PlannedResourceId })
</td>
<td>
| @item.ResourceType.Name
</td>
</tr>
}
如果我不使用它,我会收到错误CS1525: Invalid expression term '|'
,但第二个'|'无阻碍地获得。
答案 0 :(得分:20)
这是因为当你在{
和}
的语句中时,只有HTML标记被视为文字,其他一切都是服务器端脚本。因此,您需要使用标准HTML标记,例如<div>
,<span>
,或者如果您想使用文字,请使用未输出到响应的特殊<text>
标记
答案 1 :(得分:18)
如果您的文字跨越多行,则可以使用<text>
标记。
<text>your text here...
over to the 2nd line.</text>
或者,如果您只想输出管道字符,请使用@:
指令指定文本,因此@:|
将输出|
,错误消息将消失