0

タグヘルパーとしてのViewComponentは、ASP.NET Core 1.1(Invoking a view component as a Tag Helperhereセクションを参照してください)に導入されました。しかし、以下のものは、ビューの一部だけTest for VCを返します。 <vc:annual-orders>...</vc:annual-orders>の部分が全く呼び出されないようです。タグヘルパーとしてのViewComponentが呼び出されない

ビュー\共有\コンポーネント\ AnnualOrders \ Default.cshtml

@{ 
    Layout = ""; 
} 
<div>Test for VC</div> 
<div> 
    <vc:annual-orders> 

    </vc:annual-orders> 
</div> 

にmyProj \ ViewComponents \ AnnualOrdersViewComponent.cs

public class AnnualOrdersViewComponent : ViewComponent 
{ 
    private readonly OrdersContext _context; 

    public AnnualOrdersViewComponent(OrdersContext context) 
    { 
     _context = context; 
    } 

    public async Task<IViewComponentResult> InvokeAsync() 
    { 
     var lstOrders = _context.Where(t => t.orderType == "new"); 
     return View(await lstOrders); 
    } 
} 

注:

  1. 私はASP.NET Core 1.1を使用していますタグヘルパーのないViewComponentsが正常に動作しています。
  2. また、このMSDNのofficial tutorialについては、How to Invoke a View component as a tag helperとなりました。ここで、タグヘルパーのパスカルケースクラスとメソッドパラメータは、kebab caseに変換されています。

答えて

0

私はこれに苦労し、ビューコンポーネントのタグヘルパーを機能させることに成功しました。 私が持っていた問題は、タグヘルパーがエリア内のビューで作業していないということでした。 これを解決するために、/ Viewsディレクトリの_ViewImports.cshtmlページと_ViewStart.cshtmlページを/ Areas // Viewsディレクトリにコピーしました。タグヘルパーが動作し、VSが自分のプロパティでintellisenseを与えています。

どこビューコンポーネントを含むアセンブリの名前です(_ViewStart.cshtmlファイルに追加することを忘れないでください:

@addTagHelper *, <AssemblyName> 
関連する問題