Wie wird der Speicherort der Ansicht in asp.net core mvc angegeben, wenn benutzerdefinierte Speicherorte verwendet werden?

Angenommen, ich habe einen Controller, der ein attributbasiertes Routing verwendet, um eine angeforderte URL von / admin / product wie folgt zu verarbeiten:

[Route("admin/[controller]")]        
public class ProductController: Controller {

    // GET: /admin/product
    [Route("")]
    public IActionResult Index() {

        return View();
    }
}

Now Nehmen wir an, ich möchte meine Ansichten in einer Ordnerstruktur organisieren, die in etwa die URL-Pfade widerspiegelt, mit denen sie verknüpft sind. Ich möchte also, dass sich die Ansicht für diesen Controller hier befindet:

/Views/Admin/Product.cshtml

Um noch weiter zu gehen, wenn ich einen Controller wie diesen hätte:

[Route("admin/marketing/[controller]")]        
public class PromoCodeListController: Controller {

    // GET: /admin/marketing/promocodelist
    [Route("")]
    public IActionResult Index() {

        return View();
    }
}

Ich möchte, dass das Framework hier automatisch nach seiner Ansicht sucht:

Views/Admin/Marketing/PromoCodeList.cshtml

Idealerweise würde der Ansatz zum Informieren des Frameworks des Ansichtsorts allgemein auf der Grundlage der attributbasierten Routeninformationen funktionieren, unabhängig davon, wie viele URL-Segmente betroffen sind (dh wie tief verschachtelt es ist).

Wie kann ich das Core MVC-Framework (ich verwende derzeit RC1) anweisen, an einer solchen Stelle nach der Ansicht des Controllers zu suchen?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage