asp.net-mvc – MVC3 Razor视图中的文本文字问题

为什么我需要使用< 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:无效的表达式术语’|’,但第二个’|’得到不受阻碍。

这是因为当您在{和}中只有HTML标签被视为文字时,其他所有内容都是服务器端脚本。因此,您需要使用标准的HTML标签,例如< div>,< span> …,或者如果要使用文字使用特殊的< text>标签不输出到响应。
翻译自:https://stackoverflow.com/questions/4416812/text-literal-problem-in-mvc3-razor-view

转载注明原文:asp.net-mvc – MVC3 Razor视图中的文本文字问题