Exemple d'analyse du transfert de paramètres entre les pages MVC

Y2J
Libérer: 2017-04-27 11:12:24
original
3302 Les gens l'ont consulté

Cet article présente principalement en détail la méthode de transfert de paramètres entre les pages MVC et partage les deux manières de transférer des valeurs entre les pages MVC. L'une est la méthode Html.RenderPartial et la seconde est la méthode Html.RenderAction. , qui présente certains avantages. Pour une valeur de référence, les amis intéressés peuvent se référer à

Concernant le transfert de valeur entre les pages MVC, il existe de nombreuses façons Ci-dessous, nous partagerons avec vous la méthode Html.RenderAction et la méthode Html.RenderPartial. .Quelle est la différence.

1. Méthode Html.RenderAction Comment transmettre des paramètres entre les pages :

La méthode Html.RenderAction consiste à accéder au contrôleur d'une autre page et à transmettre les paramètres dans Paramètres dans l'action correspondante dans le contrôleur sur une autre page.

Par exemple : j'ai un tel contrôleur et une telle action (qui est une vue partielle)

public class TopController : Controller
 {
  // GET: Top
  public ActionResult Index(string content)
  {
   ViewBag.content = content;
   return PartialView();
  }
 }
Copier après la connexion

Dans cet index, écrivez les paramètres reçus dans ViewBag.content D'une part, la vue frontale récupérée de l’interface. Comme suit :

Alors, comment utiliser la méthode Html.RenderAction pour passer des paramètres dans cette page puis les afficher ?

Cela utilise la méthode Html.RenderAction pour transmettre des paramètres à la page Index en haut.

L'avez-vous déjà appris ?

2. Méthode Html.RenderPartial

La méthode Html.RenderPartial est différente de Html.RenderAction Elle ne transmet pas de paramètres à l'Action correspondant au Controller d'une autre page. , mais il est transmis directement au modèle d'une autre interface.

Ainsi, la valeur transmise par Html.RenderAction n'entrera pas directement dans le modèle via le contrôleur.

Jetons un coup d’œil aux opérations spécifiques.

1. Tout d’abord, nous créons un modèle Model simple.

public class Person
  {
   public string Name { get; set; }
   public string Sex { get; set; }
  
  }
Copier après la connexion

2. Créez une page de démarrage d'interface (nommée par Boot lui-même). Sa vue est la suivante :

Dans le code ci-dessus, nous will Le modèle spécifie la classe Person. Obtenez la valeur correspondante en fonction des attributs de la classe dans les deux balises

Après avoir créé cette page, nous devons transmettre la valeur à cette page. Alors comment utiliser Html.RenderPartial pour lui transmettre la valeur ? Comme suit :

La zone rouge ci-dessus utilise Html.RenderPartial pour transmettre la valeur.

Cette méthode semble avoir des défauts. Oui, il nous est impossible de construire un modèle à chaque fois que nous utilisons Html.RenderPartial pour transmettre une valeur. Ce serait presque un désastre. Alors comment l’éviter ?

La manière idéale pour nous d'utiliser Html.RenderPartial pour transmettre des valeurs à une autre interface peut être la suivante :

Comme indiqué dans l'encadré rouge au-dessus de. Utilisez simplement un objet anonyme pour envelopper directement les paramètres, puis transmettez-le, mais une autre page l'acceptera-t-elle ?

Peut-être l'avez-vous déjà testé, et la réponse est : non. Si vous allez sur Nom et Sexe dans le modèle, une erreur sera signalée (je crois que tous les amis jardiniers l'ont déjà essayé)

Alors comment pouvons-nous l'améliorer pour que cette page puisse accepter le transfert de paramètres de cette manière ? Comme suit :

Si vous utilisez la méthode ci-dessus pour obtenir la valeur, vous obtiendrez les attributs correspondants de l'objet anonyme transmis. N'est-ce pas très élevé ? Il sera beaucoup plus pratique de transmettre des valeurs à l'avenir.

Les types de paramètres passés peuvent aussi être divers, par exemple :

Nous avons ajouté un paramètre de type DateTime, puis l'autre interface est toujours la même, la réponse est correcte.

Page

D'accord, je vais le partager ici à propos du passage de paramètres entre les pages MVC.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!