Dans ASP.NET, il peut parfois être nécessaire de convertir une vue sur une chaîne à diverses fins, comme l'envoi de HTML dans le cadre d'un e-mail ou l'alimentation d'un générateur de rapports. Cependant, la conversion de vues en chaînes à l'aide de code conçu pour ASP.NET n'est pas directement applicable à .NET Core.
Pour effectuer la conversion vers .NET Core, il est Il est essentiel de comprendre les différences entre les cadres sous-jacents. Contrairement à ASP.NET, .NET Core ne fournit pas de méthode intégrée pour cette tâche.
Pour résoudre ce problème, une méthode d'extension personnalisée a été créée pour Controller dans . NET Core :
public static async Task<string> RenderViewAsync<TModel>(this Controller controller, string viewName, TModel model, bool partial = false)
La méthode d'extension fournie offre plusieurs différences clés par rapport à ASP.NET version :
Pour utiliser cette extension, appelez simplement :
viewHtml = await this.RenderViewAsync("Report", model);
Ou, pour une vue partielle :
partialViewHtml = await this.RenderViewAsync("Report", model, true);
Cela fournit un moyen robuste et personnalisable de renvoyer des vues sous forme de chaînes dans les applications .NET Core.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!