2017-05-19 5 views
1

Ich habe dieses einfache Anker-Tag.ASP.Net Core: Asp-Action-Tag funktioniert nicht

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

Die Codestruktur ist wie folgt.

enter image description here

Das Markup, das erzeugt wird, ist als

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

folgt Es fehlt die Aktion (create), aber der Rest der Tags zu funktionieren scheinen.

Routing-Setup ist als

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?}"); 
     }); 

Antwort

0

Reihenfolge ist wichtig folgt ... über dem des Standard den Bereich Route setzen.

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

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

Die Lösung dieses Problems ist ~/Views/_ViewImports.cshtml zu ~/AreaName/Views/_ViewImports.cshtml

Dies ist, weil der Tag Helfer wegen @addTagHelper zur Verfügung kopieren wird, die in der _ViewImports.cshtml page.

Sobald Sie verfügbar ist Haben Sie dies getan, funktioniert Ihr Tag-Helfer intellisense sowie Ihr Tag Helper-Code funktioniert!

Hoffe, das hilft. Dank

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

Verwandte Themen