Je ne suis pas un grand fan de l'utilisation pré-groupée AddMvc()
et préfère utiliser le AddMvcCore()
à la place. Cela dit, je me demandais comment utiliser le nouveau (à partir de la version 2.0) AddRazorPages()
avec AddMvcCore()
.ASP.NET Core 2.0 Razor Pages en utilisant AddMvcCore() au lieu de AddMvc()
Par exemple, si nous faisons une configuration "bare-bones" de middleware à utiliser uniquement AddRazorPages()
qui se trouve de l'official repository
// loaded the NuGet package Microsoft.AspNetCore.Mvc.RazorPages
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddRazorPages();
}
Après avoir créé une page foo.cshtml
et l'a placé dans le répertoire .\Pages\
, il retourne un 404 (Page non trouvée) quand je navigue vers l'URL \Foo
.
. \ Pages \ Foo.cshtml
@page
@model IndexModel
@using Microsoft.AspNetCore.Mvc.RazorPages
@functions {
public class IndexModel : PageModel
{
public string Message { get; private set; } = "In page model: ";
public void OnGet()
{
Message += $" Server seconds { DateTime.Now.Second.ToString() }";
}
}
}
<h2>Hello World</h2>
<p>
@Model.Message
</p>
La page exemple ci-dessus est tiré de la Microsoft Documents: Introduction to Razor Pages in ASP.NET Core
Quelqu'un at-il compris cela, ou de savoir ce qui manque? Je pense qu'il y a un problème avec le routage.
Je ne pense pas que 'AddMvcCore' ajoute des trucs de rasoir de sorte que vous auriez besoin d'ajouter cela manuellement. – DavidG
Vous voulez dire que j'ai besoin de '.AddRazorViewEngine()' et '.AddViews()', etc? – Svek
Je ne sais pas exactement ce dont RazorPages a besoin (je n'ai pas encore eu l'occasion de jouer avec) mais je commencerais à ajouter des éléments jusqu'à ce que ça fonctionne comme prévu. – DavidG