Dlaczego wymagane jest użycie znacznika <text>
w celu zawarcia literału "|" w tym znaczniku? Z pewnością wykracza to poza zakres metody ActionLink.Problem z literałem tekstowym w widoku z ostrzami MVC3
@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>
}
Jeśli nie używam go, pojawia się błąd CS1525: Invalid expression term '|'
, ale drugi „|” dostaje się bez przeszkód.
Interesujące, ale dlaczego mój drugi | char (patrz edycje) poza wewnętrzną {}, ale nadal znajduje się wewnątrz zewnętrznej {} pętli. Czy bycie w tagu HTML uchodzi w jakiś sposób? – ProfK
@ProfK, nie rozumiem. Jakie wewnętrzne i zewnętrzne "{}" mówisz? Co edytuje? –
@ProfK, przepraszam, teraz widzę twoje zmiany. W zewnętrznej '{}', znak '|' znajduje się wewnątrz znacznika: '
Jeśli tekst obejmuje wiele linii, można użyć znacznika
<text>
.<text>your text here...
over to the 2nd line.</text>
Alternatywnie, jeśli po prostu chcesz odtwarzać postać rury użyć dyrektywy
@:
aby określić tekst,tak
@:|
wyjście wola|
, a komunikat o błędzie zniknie.Źródło
2011-06-21 08:57:35
Powiązane problemy