Jestem w trakcie radzenia sobie z ASPNET CORE [wersja 1.1, używając społeczności VS2017, wersja 15.1 (26403.3)] Stworzyłem działający ViewComponent o nazwie UserDetails
(w skrócie poniżej) :TagHelper dla ASPNET CORE ViewComponent nie działa
namespace AdminConsole.ViewComponents
{
[ViewComponent(Name = "UserDetails")]
public class UserDetailsViewComponent : ViewComponent
{ ...does stuff... }
i mogę powołać się go z powodzeniem w widoku za pomocą
@await Component.InvokeAsync("UserDetails")
wolałbym ją wywołać za pomocą TagHelper, ale po prostu nie dzieje. Przeszukałem SO i inne przydatne strony, a podczas gdy inni wydają się działać, nie mogę.
Dodałem wiersz w _ViewImports.cshtml i <vc:user-details></vc:user-details>
w widoku Chcę renderować VC i nie wyświetla; Nie dostaję błędu, po prostu się nie wyświetla.
Jeśli zmienię deklarację TagHelper na @addTagHelper *, AdminConsole
(bez znaczników mowy), to również ona nie będzie renderować ani nie będzie występować błąd.
Jeśli wypróbuję obie powyższe kombinacje i wypróbuję <vc:UserDetails></vc:UserDetails>
, tj. Bez przypadku kebaba, to nie wyrenderuje ani błędu.
My _ViewImports.cshtml
jest następujący
@using AdminConsole
@using AdminConsole.Models
@using AdminConsole.Models.AccountViewModels
@using AdminConsole.Models.ManageViewModels
@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration TelemetryConfiguration
@addTagHelper "*, AdminConsole"
Korzystanie z pełną nazw dla VC w deklaracji @addTagHelper
(AdminConsole.ViewComponents
) generuje błąd cannot resolve TagHelper
.
Myślę, że wypróbowałem wszystkie permutacje, a dokumentacja ze źródeł oficjalnych i społecznościowych sugeruje tylko to, co próbowałem (i inne!). Byłbym bardzo wdzięczny, gdyby ktoś mógł pomóc rzucić trochę światła.
Mam również tego rodzaju problem, wszelkie dostępne rozwiązania? – riza
Witaj, Riza, spytałem o to samo zadanie na forach ASP.NET ... i niestety nie otrzymałem odpowiedzi. Czy można uzyskać renderowanie VC za pomocą metody '@await Component.InvokeAsync (" ComponentName ")'? To działa dla mnie, ale TagHelper nie działa. –
yes, @await Component działa, ale TagHelper nie. Nadal próbuję znaleźć rozwiązanie, opublikuję odpowiedź, jeśli kiedykolwiek napotkam jedną z nich: – riza