Lorsque je crée fortement typé View dans Asp.net mvc 2, .net 4.0 avec le type de modèle Tuple, je reçois erreur lorsque Tuple ont plus de 4 produitsAsp.net mvc 2 .net 4.0 erreur lorsque Voir le type de modèle est Tuple avec plus de 4 éléments
exemple 1: type de vue est Tuple<string, string, string, string>
(4-tuple) et tout fonctionne bien
vue:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<Tuple<string, string, string, string>>" %>
contrôleur
:
var tuple = Tuple.Create("a", "b", "c", "d");
return View(tuple);
exemple 2: type de vue est Tuple<string, string, string, string, string>
(5-tuple) et j'avoir cette erreur: Compiler Error Message: CS1003: Syntax error, '>' expected
vue:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<Tuple<string, string, string, string, string>>" %>
contrôleur
:
var tuple = Tuple.Create("a", "b", "c", "d", "e");
return View(tuple);
exemple 3 si mon modèle de vue est de type dynamique, je peux utiliser à la fois 4-tuple et 5-tuple et il n'y a pas d'erreur sur la page
vue:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
contrôleur:
dynamic model = new ExpandoObject();
model.tuple = Tuple.Create("a", "b", "c", "d");
return View(model);
ou
vue:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
contrôleur:
dynamic model = new ExpandoObject();
model.tuple = Tuple.Create("a", "b", "c", "d", "e");
return View(model);
Même si j'ai quelque chose comme Tuple<string, Tuple<string, string, string>, string>
3-tuple et l'un des éléments est également un tuple et la somme des produits dans toutes les tuples est plus que 4 je reçois la même erreur, Tuple<string, Tuple<string, string>, string>
fonctionne très bien
Un tuple est un ensemble ordonné et non un modèle de vue. Faites votre propre classe. – Ryan