Um einen Bereich in einem ASP.NET-Core-App zu schließen, müssen wir zuerst in der Startup.cs
Datei (es ist am besten, es vor alle nicht-Bereich Route zu platzieren) einen herkömmlichen Weg umfassen:
In Startup .cs/Configure-Methode:
app.UseMvc(routes =>
{
routes.MapRoute("areaRoute", "{area:exists}/{controller=Admin}/{action=Index}/{id?}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Dann einen Ordner Areas
in der App root und machen einen anderen Namen Admin
im ehemaligen, auch machen diese Ordner innerhalb Admin
(ViewComponent ist optional) mit dem Namen machen:

Nun erstellen wir einen Controller innerhalb des Controllers
Ordner AdminController
genannt, kann der Inhalt wie:
[Area("Admin")]
[Route("admin")]
public class AdminController : Controller
{
public AdminController()
{
// do stuff
}
public IActionResult Index()
{
return View();
}
[Route("[action]/{page:int?}")]
public IActionResult Orders()
{
return View();
}
[Route("[action]")]
public IActionResult Shop()
{
return View();
}
[Route("[action]/newest")]
public IActionResult Payments()
{
return View();
}
}
nun dafür zu arbeiten, um, müssen Sie Ansichten erstellen Alle Aktionen, die einen zurückgeben. Die Hierarchie für Ansichten ist wie, was Sie in einem nicht-Bereich Ansichten Ordner:

Nun sollten Sie gut zu gehen!
Frage: Was passiert, wenn ich einen anderen Controller in meinem Bereich habe?
Antwort:
einfach einen anderen Controller neben AdminController
hinzufügen und sicherstellen, dass die Routen sind wie folgt aus:
[Area("Admin")]
[Route("admin/[controller]")]
public class ProductsController : Controller
{
public ProductsController()
{
//
}
[Route("{page:int?}")]
public IActionResult Index()
{
return View();
}
}
Der wichtigste Teil ist [Route("admin/[controller]")]
. Damit können Sie den Routing-Stil auf admin/controller/action/...
beibehalten Dies wird auf RC1, RC2 und 1.0 getestet. Es funktioniert völlig. – VSG24
Ich habe ein Beispiel erstellt, wie Sie oben zeigen und Admin-Bereich hinzufügen, es funktioniert gut, aber wenn ich mein Projekt veröffentlicht, es nicht Admin-Bereich und Ansichten und Dateien veröffentlicht, wie kann ich damit umgehen? – motevalizadeh
@motevallizadeh, Eine andere Frage von mir! https://stackoverflow.com/questions/37326068/asp-net-core-rc2-area-not-published – VSG24