вертикальная линия в asp net ядро ​​mvc - PullRequest
0 голосов
/ 19 марта 2020

Кажется, я не могу использовать вертикальную линию в ядре asp net 3.1.3 MVC, если оно содержит "User.IsInRole (" Admin ")"

Например.

@if (User.IsInRole("Admin"))
{
    <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
    <a asp-action="Details" asp-route-id="@item.Id">Details</a> |
    <a asp-action="Delete" asp-route-id="@item.Id">Delete</a> |
}

Первое сообщение об ошибке:

Error   CS1525  Invalid expression term '|' 

Есть идеи, как это исправить?

1 Ответ

1 голос
/ 20 марта 2020

У вас есть два способа реализовать "|" в @module:

1.Используйте ASCII character(&#124;) вместо "|" :

@if (User.IsInRole("Admin"))
{
    <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> &#124;
    <a asp-action="Details" asp-route-id="@item.Id">Details</a>  &#124;
    <a asp-action="Delete" asp-route-id="@item.Id">Delete</a> &#124;
}

2.Добавьте '@' символ перед "|" в скобках:

@if (User.IsInRole("Admin"))
{
    <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> @("|")
    <a asp-action="Details" asp-route-id="@item.Id">Details</a>  @("|")
    <a asp-action="Delete" asp-route-id="@item.Id">Delete</a>@("|")
}

Вы также можете обратиться к this .

...