Когда я создаю строго типизированное представление в Asp.net mvc 2, .net 4.0 с типом модели Tuple, я получаю сообщение об ошибке, когда Tuple имеет более 4 элементов.
пример 1: тип представления Tuple<string, string, string, string>
(4-кортеж) и все работает нормально
Посмотреть:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<Tuple<string, string, string, string>>" %>
контроллер:
var tuple = Tuple.Create("a", "b", "c", "d");
return View(tuple);
пример 2: тип представления Tuple<string, string, string, string, string>
(5-кортеж), и у меня есть эта ошибка: Compiler Error Message: CS1003: Syntax error, '>' expected
Посмотреть:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<Tuple<string, string, string, string, string>>" %>
контроллер:
var tuple = Tuple.Create("a", "b", "c", "d", "e");
return View(tuple);
пример 3, если моя модель просмотра имеет динамический тип, я могу использовать как 4-кортеж, так и 5-кортеж, и на странице нет ошибки
Посмотреть:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
контроллер:
dynamic model = new ExpandoObject();
model.tuple = Tuple.Create("a", "b", "c", "d");
return View(model);
or
Посмотреть:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/WebUI.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
контроллер:
dynamic model = new ExpandoObject();
model.tuple = Tuple.Create("a", "b", "c", "d", "e");
return View(model);
Даже если у меня есть что-то вроде Tuple<string, Tuple<string, string, string>, string>
3-кортежа, и один из элементов также является кортежем, а сумма элементов во всех кортежах больше 4, я получаю ту же ошибку, Tuple<string, Tuple<string, string>, string>
работает нормально