2017-05-19 5 views
1

私はこの単純なアンカータグを持っています。ASP.Netコア:asp-actionタグが機能しない

<a asp-area="Admin" asp-action="Create" asp-controller="Users" class="btn btn-default">Create</a> 

コード構造は次のとおりです。

enter image description here

<a class="btn btn-default" href="/Admin/Users">Create</a> 

を次のように生成されるマークアップは、それはアクションが欠落していている(作成)が、タグの残りの部分は正常に動作しているようです。

app.UseMvc(
    routes => 
     { 
      routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}"); 
      routes.MapRoute(
       name: "areaRoute", 
       template: "{area:exists}/controller=Admin/{action=Index}/{id?}"); 
     }); 

答えて

0

注文事項を次のように

ルーティングの設定はデフォルトのものより上の領域ルートを置く...です。

  routes.MapRoute(
       name: "adminDefault", 
       template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"); 

      //catchall 
      routes.MapRoute(
       name: "default", 
       template: "{controller=Home}/{action=Index}/{id?}"); 
1

この問題の解決策は、これは、タグヘルパーが原因であなたいったん_ViewImports.cshtml page.

で提供されています @addTagHelperで利用できるようになるされているので ~/AreaName/Views/_ViewImports.cshtml

~/Views/_ViewImports.cshtmlをコピーすることですあなたのタグヘルパーのインテリセンスは、 あなたのタグヘルパーのコードが動作するだけでなく、これを行っている!

これが役に立ちます。おかげ

参考:[Resolved] Tag helper syntax is not working for the Areas view in ASP.NET Core - DotNetFunda.com

関連する問題