ActionLink и asp-действие, не работающие внутри тела таблицы строк, когда код используется в Partialview o ComponentView Asp.net ядро 2.2

#asp.net-core-mvc

#asp.net-core-mvc

Вопрос:

Код отлично работает в Asp.net MVC в PartialViews, но в Asp.net ядро 2.2 работает только непосредственно в представлениях, @Html.ActionLink и asp-действие как бы отключены, когда я использую их внутри строки таблицы

это код:

Если удалить тег таблицы, ссылки на действия снова включаются.

 <table class="table clsTableColorGreen">
@foreach (var item in Model.Detalle)
{
    <tr>
        <td></td>
        <td>
            @Html.DisplayFor(modelItem => item.EmpresaProducto.CnProdDesc)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.CnCantidad)
        </td>

        <td>
            <a asp-action="DeleteItem" asp-area="Facturacion" asp-controller="Facturas" asp-route-id="@item.CnFacturaDetalleID">Eliminar</a>
        </td>
        <td>
            @Html.ActionLink("Eliminar", "DeleteItem", new { id = item.CnFacturaDetalleID }, new { @class = "btn btn-link glyphicon glyphicon-remove", @id = "btnEliminarItem" })
        </td>
        <td>
            <div class="delete-section">
                <a class="delete-link glyphicon glyphicon-remove" href="@Url.Action("DeleteItem2", new {id = item.CnFacturaDetalleID}  )">Eliminar</a>
                <div class="btn btn-primary delete-confirm" style="display:none" data-delete-id="@item.CnFacturaDetalleID ">Confirmar Eliminar</div>
            </div>
        </td>
    </tr>
}
</table>
  

я ожидаю, что в каждой строке будет отображаться ссылка, по которой можно щелкнуть, когда код находится внутри partiaview или component view

***** Обновленное решение ****** Я думаю, что проблема может быть связана с изменением начальной загрузки с 3.X на для начальной загрузки версии 4.3.1 при переходе на asp.net ядро.

я решаю проблему в таблице данных начальной загрузки, просто изменяя положение ссылок с последнего столбца на первый столбец, и все работает нормально. спасибо, друзья.

         <table class="table clsTableColorGreen">
            <thead>
                <tr>
                    <th>
                        #
                    </th>
                    <th>
                        @Html.DisplayNameFor(model => model.Detalle[0].CnProdID) // All headers
                    </th>


                    <th></th>
            </thead>
            <tbody>
                @foreach (var item in Model.Detalle)
                {
                    <tr>
                        <td>  // change tp first line 
                            <div class="delete-section">
                                <a class="delete-link glyphicon glyphicon-remove" href="@Url.Action("DeleteItem2", new {id = item.CnFacturaDetalleID}  )">Eliminar</a>
                                <div class="btn btn-primary delete-confirm" style="display:none" data-delete-id="@item.CnFacturaDetalleID ">Confirmar Eliminar</div>
                            </div>
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.EmpresaProducto.CnProdDesc) // all content
                        </td>

                    </tr>
                }

        </table>
  

Комментарии:

1. Что конкретно вы используете для «@Html. ActionLink и asp-действие как бы отключены»? Я провел тест, но он сработал, я предполагаю, что если вы добавите » @addTagHelper *, Microsoft. AspNetCore.Mvc.TagHelpers » в _ViewImports.cshtml . Не могли бы вы поделиться демонстрационным примером, который может воспроизвести вашу проблему?

2. все мои ссылки на теги были в порядке, я думаю, проблема в чем-то в начальной версии.