[Route ASP.NET MVC Mavericks]12
[ASP.NET
MVC Mavericks Road] 12 - Section, vue partielle et action enfant
En un mot, le contenu de View peut être divisé en parties statiques et dynamiques. Le contenu statique est généralement constitué d'éléments HTML, tandis que le contenu dynamique fait référence au contenu créé dynamiquement lors de l'exécution de l'application. Les façons d'ajouter du contenu dynamique à View peuvent être résumées comme suit :
Code en ligne, petits extraits de code, tels que les instructions if et foreach.
Méthode d'assistance HTML, utilisée pour générer un ou plusieurs éléments HTML, tels que le modèle de vue, ViewBag, etc.
Section, insérez une partie du contenu créé à l'emplacement spécifié.
Vue partielle, qui existe dans un fichier de vue séparé et peut être partagée entre plusieurs vues en tant que sous-contenu.
L'action enfant est équivalente à un composant d'interface utilisateur qui contient une logique métier. Lorsqu'une action enfant est utilisée, elle appelle l'action dans le contrôleur pour renvoyer une vue et insère le résultat dans le flux de sortie.
Cette classification n'est pas absolue. Les deux premiers sont très simples et ont été utilisés dans des articles précédents. Cet article présente principalement les applications de ces trois dernières méthodes.
Table des matières
Section
Le moteur de vue Razor prend en charge la séparation d'une partie du contenu dans la vue pour la réutiliser si nécessaire, réduisant ainsi le code redondance. Montrons comment utiliser Section.
Créez une application MVC et choisissez un modèle de base. Ajoutez un HomeController, modifiez la méthode Index générée comme suit :
public ActionResult Index() { string[] names = { "Apple", "Orange", "Pear" }; return View(names); }
Cliquez avec le bouton droit sur la méthode Index, ajoutez une vue, modifiez la vue comme suit :
@model string[] @{ ViewBag.Title = "Index"; } @section Header { <div class="view"> @foreach (string str in new [] {"Home", "List", "Edit"}) { @Html.ActionLink(str, str, null, new { style = "margin: 5px" }) } </div> } <div class="view"> This is a list of fruit names: @foreach (string name in Model) { <span><b>@name</b></span> } </div>@section Footer { <div class="view"> This is the footer </div> }
Nous ajoutons une section via la balise @section Nom pour définir une Section. Deux sections sont créées ici : En-tête et Pied de page. Il est d'usage de placer la section au début ou à la fin du fichier View pour en faciliter la lecture. Ci-dessous, nous les utilisons dans le fichier /Views/Shared/_Layout.cshtml.
Modifiez le fichier /Views/Shared/_Layout.cshtml comme suit :
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <style type="text/css"> div.layout { background-color: lightgray;} div.view { border: thin solid black; margin: 10px 0;} </style> <title>@ViewBag.Title</title> </head> <body> @RenderSection("Header") <div class="layout"> This is part of the layout </div> @RenderBody() <div class="layout"> This is part of the layout </div> @RenderSection("Footer") <div class="layout"> This is part of the layout </div> </body> </html>
Nous appelons le contenu de la section via la méthode @RenderSection, et le paramètre spécifie le nom du section. Après avoir exécuté le programme, vous pouvez voir les résultats suivants :
Notez que la section ne peut être appelée que dans la vue actuelle ou sa mise en page. La méthode @RenderSection lèvera une exception si elle ne trouve pas la section spécifiée par le paramètre. Si vous n'êtes pas sûr que la section existe, vous devez spécifier la valeur du deuxième paramètre comme false, comme suit :
... @RenderSection("scripts", false) ...
Nous pouvons également utiliser la méthode IsSectionDefined. Déterminez si une section est définie ou peut être appelée dans la vue actuelle, comme :
... @if (IsSectionDefined("Footer")) { @RenderSection("Footer") } else { <h4 id="This-nbsp-is-nbsp-the-nbsp-default-nbsp-footer">This is the default footer</h4> } ...
Vue partielle
Créons d’abord une vue partielle. Créez un nouveau fichier de vue nommé MyPartial dans le répertoire /Views/Shared, cochez "Créer en tant que vue partielle", comme suit :
<div> This is the message from the partial view. @Html.ActionLink("This is a link to the Index action", "Index") </div>
Ajoutez ensuite une méthode d'action List dans HomeController, comme suit :
public ActionResult List() { return View(); }
@{ ViewBag.Title = "List"; Layout = null; } <h3 id="This-nbsp-is-nbsp-the-nbsp-Views-Home-List-cshtml-nbsp-View">This is the /Views/Home/List.cshtml View</h3> @Html.Partial("MyPartial")
Exécutez le programme et accédez à /Home/List, nous pouvons voir l'effet suivant :
@model IEnumerable<string> <div> This is the message from the partial view. @Html.ActionLink("This is a link to the Index action", "Index") <ul> @foreach (string str in Model) { <li>@str</li> } </ul> </div>
@{ ViewBag.Title = "List"; Layout = null; } <h3 id="This-nbsp-is-nbsp-the-nbsp-Views-Home-List-cshtml-nbsp-View">This is the /Views/Home/List.cshtml View</h3> @Html.Partial("MyPartial", new[] { "Apple", "Orange", "Pear" })
Child Action
Child action 和 Patial view 类似,也是在应用程序的不同地方可以重复利用相同的子内容。不同的是,它是通过调用 controller 中的 action 方法来呈现子内容的,并且一般包含了业务的处理。任何 action 都可以作为子 action 。接下来介绍如何使用它。
在 HomeController 中添加一个 action,如下:
[ChildActionOnly] public ActionResult Time() { return PartialView(DateTime.Now); }
这个 action 通过调用 PartialView 方法来返回一个 partial view。ChildActionOnly 特性保证了该 action 只能作为子action被调用(不是必须的)。
接着我们继续为这个action添加一个相应的 Time.cshtml 视图,代码如下:
@model DateTime <p>The time is: @Model.ToShortTimeString()</p>
... @Html.Action("Time")
运行结果如下:
我们通过 @Html.Action 方法来调用了 Time action 方法来呈现子内容。在这个方法中我们只传了一个action名称参数,MVC将根据当前View所在Controller去查找这个action。如果是调用其它 controller 中的 action 方法,则需要在第二个参数中指定 controller 的名称,如下:
... @Html.Action("Time", "MyController")
该方法也可以给 action 方法的参数传值,如对于下面带有参数的 action:
... [ChildActionOnly] public ActionResult Time(DateTime time) { return PartialView(time); }
... @Html.Action("Time", new { time = DateTime.Now })
以上就是[ASP.NET MVC 小牛之路]12 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Introduction Dans le monde numérique en évolution rapide d'aujourd'hui, il est crucial de créer des applications WEB robustes, flexibles et maintenables. L'architecture PHPmvc fournit une solution idéale pour atteindre cet objectif. MVC (Model-View-Controller) est un modèle de conception largement utilisé qui sépare les différents aspects d'une application en composants indépendants. Les fondements de l'architecture MVC Le principe fondamental de l'architecture MVC est la séparation des préoccupations : Modèle : encapsule les données et la logique métier de l'application. Vue : responsable de la présentation des données et de la gestion des interactions des utilisateurs. Contrôleur : coordonne l'interaction entre les modèles et les vues, gère les demandes des utilisateurs et la logique métier. Architecture PHPMVC L'architecture phpMVC suit le modèle MVC traditionnel mais introduit également des fonctionnalités spécifiques au langage. Ce qui suit est PHPMVC

L'architecture MVC (Model-View-Controller) est l'un des modèles les plus populaires dans le développement PHP car elle fournit une structure claire pour organiser le code et simplifier le développement d'applications WEB. Bien que les principes de base de MVC soient suffisants pour la plupart des applications Web, ils présentent certaines limites pour les applications qui doivent gérer des données complexes ou implémenter des fonctionnalités avancées. Séparation de la couche modèle La séparation de la couche modèle est une technique courante dans l'architecture MVC avancée. Cela implique de diviser une classe de modèle en sous-classes plus petites, chacune se concentrant sur une fonctionnalité spécifique. Par exemple, pour une application de commerce électronique, vous pouvez diviser la classe de modèle principale en un modèle de commande, un modèle de produit et un modèle client. Cette séparation contribue à améliorer la maintenabilité et la réutilisation du code. Utiliser l'injection de dépendances

Le modèle MVC (Model-View-Controller) est un modèle de conception logicielle couramment utilisé qui peut aider les développeurs à mieux organiser et gérer le code. Le modèle MVC divise l'application en trois parties : Modèle, Vue et Contrôleur, chaque partie a son propre rôle et ses propres responsabilités. Dans cet article, nous verrons comment implémenter le modèle MVC à l'aide de PHP. Modèle Un modèle représente les données et le traitement des données d'une application. en général,

Le framework SpringMVC décrypté : Pourquoi est-il si populaire, des exemples de code spécifiques sont nécessaires Introduction : Dans le domaine actuel du développement logiciel, le framework SpringMVC est devenu un choix très populaire parmi les développeurs. Il s'agit d'un framework Web basé sur le modèle d'architecture MVC, offrant une méthode de développement flexible, légère et efficace. Cet article approfondira le charme du framework SpringMVC et démontrera sa puissance à travers des exemples de code spécifiques. 1. Avantages de SpringMVC Framework Méthode de configuration flexible Spr

Dans le développement Web, MVC (Model-View-Controller) est un modèle architectural couramment utilisé pour traiter et gérer les données, l'interface utilisateur et la logique de contrôle d'une application. En tant que langage de développement Web populaire, PHP peut également utiliser l'architecture MVC pour concevoir et créer des applications Web. Cet article présentera comment utiliser l'architecture MVC pour concevoir des projets en PHP, et expliquera ses avantages et ses précautions. Qu'est-ce que MVCMVC est un modèle d'architecture logicielle couramment utilisé dans les applications Web. VM

Développement de MVC avec le framework PHP8 : concepts et techniques importants que les débutants doivent connaître Introduction : Avec le développement rapide d'Internet, le développement Web joue un rôle important dans l'industrie actuelle du développement de logiciels. PHP est largement utilisé pour le développement Web et il existe de nombreux frameworks matures qui aident les développeurs à créer des applications plus efficacement. Parmi eux, l’architecture MVC (Model-View-Controller) est l’un des modèles les plus courants et les plus utilisés. Cet article présentera comment les débutants peuvent utiliser le framework PHP8 pour développer des applications MVC.

Développement de MVC avec le framework PHP8 : un guide étape par étape Introduction : MVC (Model-View-Controller) est un modèle d'architecture logicielle couramment utilisé pour séparer la logique, les données et l'interface utilisateur d'une application. Il fournit une structure qui sépare l'application en trois composants distincts pour une meilleure gestion et maintenance du code. Dans cet article, nous explorerons comment utiliser le framework PHP8 pour développer une application conforme au modèle MVC. Première étape : comprendre le modèle MVC Avant de commencer à développer une application MVC, je

L'architecture modèle-vue-contrôleur (mvc) est un modèle de conception puissant pour créer des applications WEB maintenables et évolutives. L'architecture PHPMVC décompose la logique de l'application en trois composants distincts : Modèle : représente les données et la logique métier de l'application. Vue : Responsable de la présentation des données aux utilisateurs. Contrôleur : agit comme un pont entre le modèle et la vue, gérant les demandes des utilisateurs et coordonnant les autres composants. Avantages de l'architecture MVC : Séparation du code : MVC sépare la logique d'application de la couche de présentation, améliorant ainsi la maintenabilité et l'évolutivité. Réutilisabilité : les composants de vue et de modèle peuvent être réutilisés dans différentes applications, réduisant ainsi la duplication de code. Optimisation des performances : l'architecture MVC permet la mise en cache des résultats de vue et de modèle, augmentant ainsi la vitesse du site Web. Test convivial : Détachement
