Est-il possible que deux vues différentes utilisent le même contrôleur? J'ai un contrôleur très complexe qui affiche certaines données. Maintenant, j'ai besoin d'afficher ces données (qui sont récupérées en utilisant ajax) dans deux vues partielles parce que je veux les placer sur différentes positions dans la mise en page.asp.net mvc2 - deux vues (ou plus) utilisant le même contrôleur?
Répondre
la fonction View() peut être passé des arguments, par exemple:
return View(); // The view with the same name as the action.
return View("MyView") // The view named "MyView"
Il y a quelques surcharges aussi. Est-ce que cela correspond à la facture?
Sinon, pourquoi ne pas une vue partielle, par exemple, étant donné ce modèle:
public class BlogItem
{
public string Title { get; set; }
public int Id { get; set; }
}
Et cette action:
public ActionResult Index()
{
var items = new List<BlogItem>
{
new BlogItem { Title = "Test Blog Item", Id = 1 }
};
return View(items);
}
Et ce point de vue:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<List<BlogItem>>" %>
<asp:Content ContentPlaceHolderID="MainContent" runat="server">
<% Html.RenderPartial("List", Model); %>
<% Html.RenderPartial("Icon", Model); %>
</asp:Content>
je peux avoir deux vues partielles utilisant le même modèle:
Liste:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<BlogItem>" %>
<ul>
<% foreach (var item in Model) { %>
<li><%= item.Title %></li>
<% } %>
</ul>
Icône:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<BlogItem>" %>
<div>
<% foreach (var item in Model) { %>
<div class="icon"><img src="..." /></div>
<div class="text"><%= item.Title %></div>
<% } %>
</div>
Est-ce que ça marche?
D'après ce que j'ai compris jusqu'à présent, vous voulez qu'une action du contrôleur renvoie deux vues. Je pense en quelque sorte que ce n'est pas possible.
Vous avez mentionné que les vues sont utilisées pour afficher des données identiques de différentes manières. Ma suggestion serait de retourner un de l'action du contrôleur et de construire le côté client de vue.
oups - basé sur votre commentaire que j'ai maintenant lu correctement, vous pouvez le faire après tout. – Ahmad
- 1. Comment configurer un contrôleur par défaut ou masquer le nom du contrôleur en utilisant asp.net MVC2
- 2. Deux vues d'alerte dans la même vue contrôleur
- 3. Asp.net MVC en utilisant le même contrôleur pour plusieurs routes
- 4. Données dynamiques ASP.Net ou MVC2?
- 5. Contrôleur parent ASP.NET MVC2 non redirigé
- 6. Vues partielles vs JSON (ou les deux)
- 7. ASP.NET MVC2 Modèle/Vue/code contrôleur
- 8. ASP.NET MVC2 Lecture de données JSON avec le contrôleur
- 9. ASP.NET MVC2: Vues, Viewmodels et demandes de post
- 10. Rendu deux ou plusieurs vues partielles
- 11. asp.net mvc2 - comment obtenir model et model.something de la même manière dans le contrôleur?
- 12. Un contrôleur rendu en utilisant les vues d'un autre contrôleur
- 13. Comment envoyer une requête GET contenant un deux-points à un contrôleur ASP.NET MVC2?
- 14. ASP.NET MVC ou ASP.NET MVC2 RC2 -> RTM
- 15. Personnalisé construit ASP.NET MVC2 brise les vues fortement typées
- 16. ASP.NET MVC une route, deux vues différentes
- 17. Authentification globale ASP.NET MVC2
- 18. deux formulaires avec le même identifiant d'entrée dans asp.net mvc
- 19. Deux versions de la même application asp.net utilisant le même serveur que stateserver - bad?
- 20. MonoTouch et MVC - crochet 2 Vues au même contrôleur
- 21. ASP.NET MVC2 routage/Structure des dossiers
- 22. Un UIViewController ou deux pour les vues portrait/paysage
- 23. asp.net MVC2 Livres
- 24. ASP.NET MVC2: Comment retourner un fichier depuis un contrôleur?
- 25. Comment attacher plus d'un contrôleur pour afficher ses sous-vues
- 26. ASP.NET MVC - Multiplie vues avec le même nom?
- 27. Comment remplacer le contrôleur plus de tabbar?
- 28. Tunneling deux objets ou plus
- 29. ListView avec deux vues
- 30. appelez 2 vues ou plus avec un contrôleur au printemps java
Je ne peux pas retourner deux fois à la fois dans le contrôleur? –
@ile: Non, mais vous pouvez utiliser la logique conditionnelle dans chaque méthode d'action et choisir vos vues en conséquence. Ou utilisez une vue générique et transmettez-lui un modèle à analyser (même si c'est un peu plus avancé). – Simon
Quelle logique conditionnelle? J'ai besoin de contrôleur pour transmettre des données à deux vues en même temps. Ce n'est pas possible? –